1. Artisan簡介
- Artisan是Laravel中自帶的命令列工具的名稱
- 由強大的Symfony consle 元件驅動的
- 提供來一些對應用開發有幫助的命令
2. Artisan使用幫助
1. 檢視所有可用的Artisan的命令(list)
php artisan
php artisan list
2. 檢視命令的幫助資訊(help)
php artisan help migrate
3. Artisan基本使用
1. 建立控制器
php artisan make:controller StudentController
2. 建立模型
php artisan make:model Student
指定路徑建立
php artisan make:model Models/Activity
3. 建立中介軟體
php artisan make:middleware Activity
4. Laravel中的使用者認證 (Auth)
- 生成Auth所需檔案
- 資料遷移
- 資料填充
1. 生成Auth所需檔案
在Artisan控制檯輸入以下命令
php artisan make:auth
vagrant@homestead:~/code/Laravel$ php artisan make:auth
Authentication scaffolding generated successfully.
產生影響:
//在routes/web.php檔案中
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
//在resources/views目錄下生成
auth資料夾
layouts資料夾
//在vendor/laravel/framework/src/Illuminate/Routing/Router.php生成對應檔案
資料遷移命令php artisan migrate
vagrant@homestead:~/code/Laravel$ php artisan migrate
Migrating: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_000000_create_users_table
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated: 2014_10_12_100000_create_password_resets_table
5. 新建遷移檔案
-
新建一個students表的遷移檔案
php artisan make:migration create_student_table
—table 和 —create引數可以用來指定資料表名稱,以及遷移檔案是否要建立新的資料表
-
生成模型的同時生成遷移檔案
php artisan make:model Student -m
實踐操作1:
//新建一個遷移檔案
php artisan make:migration create_student_table --create=students
//執行後
vagrant@homestead:~/code/Laravel$ php artisan make:migration create_student_table --create=students
Created Migration: 2019_05_28_221527_create_student_table
//在database/migrations生成檔案2019_05_28_221527_create_student_table.php
檔案具體
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateStudentTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('students', function (Blueprint $table) {
$table->increments('id');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('students');
}
}
實踐操作2:
建立model同時建立遷移檔案
vagrant@homestead:~/code/Laravel$ php artisan make:model Models/Article -m
Model created successfully.
Created Migration: 2019_05_28_221915_create_articles_table
修改2019_05_28_221527_create_student_table.php
檔案
public function up()
{
Schema::create('students', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->integer('age')->unsigned()->default(0);
$table->integer('sex')->unsigned()->default(0);
$table->integer('created_at')->default(0);
$table->integer('updated_at')->default(0);
});
}
然後執行php artisan migrate
vagrant@homestead:~/code/Laravel$ php artisan migrate
Migrating: 2019_05_28_221527_create_student_table
Migrated: 2019_05_28_221527_create_student_table
Migrating: 2019_05_28_221915_create_articles_table
Migrated: 2019_05_28_221915_create_articles_table
表就建立好了
6. 資料填充
-
建立一個填充檔案,並完善填充檔案
php artisan make:seeder StudentTableSeeder
-
執行單個填充檔案
php artisan db:seed --class=StudentTableSeeder
-
批量執行填充檔案
php artisan db:seed
//建立一個填充檔案,並完善填充檔案
vagrant@homestead:~/code/Laravel$ php artisan make:seeder StudentTableSeeder
Seeder created successfully.
//生成檔案database/seeds/StudentTableSeeder.php
<?php
use Illuminate\Database\Seeder;
class StudentTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
//
}
}
//完善方法
<?php
use Illuminate\Database\Seeder;
class StudentTableSeeder extends Seeder
{
public function run()
{
//
\Illuminate\Support\Facades\DB::table('students')->insert([
['name'=>'care','age'=>12],
['name'=>'winnie','age'=>12],
]);
}
}
//執行命令,單個填充檔案
php artisan db:seed --class=StudentTableSeeder
//資料填充成功
//批量填充
public function run()
{
$this->call(StudentTableSeeder::class);
}
//執行命令
php artisan db:seed