注:如下筆記都是按照此博文進行開發學習,開發環境爲Mac 。php
1、從github上克隆項目到本地laravel
git clone https://github.com/RryLee/StuGradeWithLaravel5.git
2、切換到本地項目目錄下,安裝composergit
MacdeMacBook-Pro-3:~ mac$ cd Desktop MacdeMacBook-Pro-3:StuGradeWithLaravel5 mac$ curl -sS https://getcomposer.org/installer | php All settings correct for using Composer Downloading 1.0.1... Composer successfully installed to: /Users/mac/Desktop/StuGradeWithLaravel5/composer.phar Use it: php composer.phar
// 能夠將上邊的命令放入到 bin目錄下,方便後邊不用每次都輸入上次的命令github
MacdeMacBook-Pro-3:StuGradeWithLaravel5 mac$ sudo mv composer.phar /usr/bin/composer MacdeMacBook-Pro-3:StuGradeWithLaravel5 mac$
// 更新composer數據庫
MacdeMacBook-Pro-3:StuGradeWithLaravel5 mac$ composer update
更新出現這樣的問題,-_-!!!composer
MacdeMacBook-Pro-3:StuGradeWithLaravel5 mac$ composer updatecurl
Loading composer repositories with package information學習
Updating dependencies (including require-dev)ui
Your requirements could not be resolved to an installable set of packages.this
Problem 1
- laravel/framework v5.0.9 requires ext-mcrypt * -> the requested PHP extension mcrypt is missing from your system.
看起來是php沒有安裝mcrypt擴展,如何安裝mcrypt具體能夠參考個人另外一篇博文:
3、建立表和建立數據
桌面進入:
MacdeMacBook-Pro-3:~ mac$ cd Desktop/StuGrade
MacdeMacBook-Pro-3:StuGrade mac$
MacdeMacBook-Pro-3:StuGrade mac$ php artisan serve
Laravel development server started on http://localhost:8000/
利用Migration建立一個用戶詳細表
生成一個表,注意表名通常爲複數 --create=users_info 爲後邊的標示
MacdeMacBook-Pro-3:laravel mac$ php artisan make:migration create_users_info_table --create=users_info Created Migration: 2016_04_23_131412_create_users_info_table MacdeMacBook-Pro-3:laravel mac$
而後在database/migrations生成的遷移文件中,添加相關的字段:
2016_04_23_131412_create_users_info_table.php
<?php use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateUsersTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('users', function (Blueprint $table) { $table->integer('id')->unique()->unsigned(); // 學號惟一,取正數 $table->string('name'); $table->string('password'); $table->string('phone')->default(''); $table->string('sex')->default(''); $table->string('email')->default(''); $table->string('pro_class')->default(''); $table->boolean('is_admin')->default(0); $table->rememberToken(); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::drop('users'); } }
最後,執行 php artisan migrate命令,在數據庫中生成表users_info
MacdeMacBook-Pro-3:laravel mac$ php artisan migrate Migrated: 2016_04_23_132854_create_users_info_table
應用artisan命令給users_info表填充數據:
用命令生成填充表UserInfoTableSeeder
MacdeMacBook-Pro-3:~ mac$ cd Desktop/laravel MacdeMacBook-Pro-3:laravel mac$ php artisan make:seeder UsersInfoTableSeeder Seeder created successfully. MacdeMacBook-Pro-3:laravel mac$
以下所示,咱們將修改 Laravel 預先生成好的 UserInfoTableSeeder
類來給 run
方法添加一段可在數據庫添加數據的語法:
<?php use Illuminate\Database\Seeder; use App\UsersInfo; use App\Grade; class UsersInfoTableSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { DB::table('users_info')->delete(); UsersInfo::create([ 'id' => 2010300001, 'name' => '周潤發', 'password' => Hash::make('2010300001'), ]); UsersInfo::create([ 'id' => 2010300002, 'name' => '周星馳', 'password' => Hash::make('2010300002'), ]); UsersInfo::create([ 'id' => 2010300003, 'name' => '成龍', 'password' => Hash::make('2010300003'), ]); UsersInfo::create([ 'id' => 2010300004, 'name' => '張曼玉', 'password' => Hash::make('2010300004'), ]); UsersInfo::create([ 'id' => 2010300005, 'name' => '林青霞', 'password' => Hash::make('2010300005'), ]); } }
在 DatabaseSeeder
類中,你可使用 call
方法來運行其它的 seed 類。爲避免發生單個 seeder 類變得太大的狀況,可以使用 call
方法來將數據填充拆分紅多個文件。只需簡單傳遞你想要運行的 seeder 類名稱便可:
<?php use Illuminate\Database\Seeder; use Illuminate\Database\Eloquent\Model; class DatabaseSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { Model::unguard(); // 執行插入用戶詳細數據 $this->call(UsersInfoTableSeeder::class); Model::reguard(); } }
運行數據填充:
MacdeMacBook-Pro-3:laravel mac$ composer dump-autoload Generating autoload files MacdeMacBook-Pro-3:laravel mac$ php artisan db:seed Seeded: UsersInfoTableSeeder
查看users_info表,數據填充OK:
數據填充,Laravel中文官方文檔http://laravel-china.org/docs/5.1/seeding
PHP artisan 命令整合:
建立控制器:
php artisan make:controller Admin/AdminController
建立中間件
php artisan make:middleware isAdmin