注:如下笔记都是按照此博文进行开发学习,开发环境为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