第四章.Laravel中的用户认证(Auth)
4.1
生成Auth所需文件
数据迁移
数据填充
生成Auth所需文件
在 Artisan 控制台输入以下命令
默认的路由:
web.php
<?php
Route::get(‘/’,function(){
returnview(‘welcome’);
});
?>
执行Auth后的路由
命令:php artisanmake:auth
<?php
Route::get(‘/’,function(){
returnview(‘welcome’);
});
Auth::routes();
Route::get(‘/home’,’HomeController@index’);
?>
浏览器请求home模块
localhost/laravel53/public/home
样式乱码处理
所有的资源路径统一用下面的方式处理
{{asset(‘ ’)}}
/laravel53/verdor/laravel/framework/src/llluminate/Routing/Router.php
配置数据库链接信息
在/laravel53/.env文件中
修改数据库配置信息
localhost/laravel53/public/register
填写注册信息
提交发生失败===原因没有响应的表
去数据库建表格
laravel 的迁移功能
$>php artisan migrate
数据库会多出3张表
迁移表、用户表、密码表
再次提交注册
4.2 Laravel中的数据迁移
新建迁移文件有两种方式:
新建一个students表的迁移文件
$>phpartisan make:migration create_students_table
--table 和–create 参数可以用来指定数据表名称,以及迁移文件是否要建立新的数据表
生成模型的同时生成迁移文件
$>phpartisan make:model Students –m
表结构
create table if not exists students(
`id`int not auto_increment primary key,
`name`varchar(255) not null default ‘’ comment ‘姓名’,
`age` int unsigned not null default 0 comment ‘年龄’,
`sex`int unsigned not null default 10 comment ‘性别’,
`create_at`int not null default 0 comment ‘新增时间’,
`update_at`int not null default 0 comment ‘修改时间’
)Engine=InnoDB default charset=utf8
auto_increment=1001 comment=’学生表’;
通过命令行创建迁移
php artisanmake:migration create_students_table –table=students
创建模型的同时创建迁移文件
phpartisan make:model Article -m
完善迁移文件----实质是完善students的表结构
迁移文件位置:laravel53/database/migrations/2016_08_26_104514_create_students_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(10);
$table->integer(‘create_at)->default(0);
$table->integer(‘create_at)->default(0);
});
}
执行命令,完成建表
$>php artisan migrate
4.3 Laravel中的数据填充
主要用来填充测试数据
创建一个填充文件,并完善填充文件
phpartisan make:seeder StudentTableSeeder
执行单个填充文件
phpartisan db:seed –-class=StudentTableSeeder
批量执行填充文件
phpartisan db:seed
实战:
php artisan make:seeder StudentTableSeeder
插入数据
修改文件 /laravel53/database/seeds/StudentTabeleSeeder.php
public function run(){
DB::table(‘students’)->insert([
[‘name’=>’sean’,’age’=>18],
[‘name’=>’imooc’,’age’=>20]
]);
}
php artisan db:seed –class=StudentTableSeeder
数据插入成功
批量执行填充
修改文件:/laravel53/database/seeds/DatabaseSeeder.php
public function run(){
//$this->call(UsersTableSeeder::class);
$this->call(StudentTableSeeder::class);
}
$>php artisan db:seed