laravel学习笔记3--高级
一、artisan
1、基本使用:
1.1、查看基本命令:
php artisan
1.2、查看具体命名的使用:
php artisan help migrate
1.3、创建控制器:
php artisan make:controller TestController
1.4、创建模型:
php artisan make:model Test
1.5、创建中间件:
php artisan make:middleware Test
二、用户验证:
1、生成Auth所需文件:
php artisan make:auth
执行成功在路由中增加如下代码,在view层中增加如下文件:
访问/home路径,会跳转到用户登录页面:
2、数据迁移:
php artisan migrate
如果出现如下报错:
则需要添加如下代码:
Schema::defaultStringLength(191);
数据迁移执行成功,数据表就新增了三张表:
备注:数据迁移执行的创建数据表数据来源:
3、注册登录
执行成功数据迁移后,就可以在页面注册登录用户
注册成功,数据表就新增一条用户信息
三、数据迁移
1、新建一张表的迁移文件
php artisan make:migration create_students_table --create=students
2、生成模型的同时生成迁移文件
php artisan make:model Article -m // 添加-m就会同时生成迁移文件
3、使用迁移文件创建表:
php artisan migrate
四、数据填充
1、创建一个填充文件,并完善填充文件
php artisan make:seeder StudentTableSeeder
生成的填充文件:
在run方法中使用查询构造器添加数据:
2、执行单个填充文件
php artisan db:seed --class=StudentTableSeeder
如果出现如下错误:
则执行composer命令:
composer dump-autoload
填充成功,数据表多了两条数据:
3、批量执行填充文件
在DatabaseSeeder的run方法上添加,有其他表需要填充数据时可以添加多条:
$this->call(StudentTableSeeder::class);
然后在命令行中执行,即可实现数据填充:
php artisan db:seed
五、文件上传:
1、在配置文件中新增文件上传目录:
'uploads' => [ 'driver' => 'local', 'root' => storage_path('app/uploads'), ],
2、上传方法:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Storage; class StudentController extends Controller { public function upload(Request $request) { if ($request->isMethod('POST')) { $file = $request->file('file'); // 文件是否上传成功 if ($file->isValid()) { // 原文件名 $originalName = $file->getClientOriginalName(); // 扩展名 $ext = $file->getClientOriginalExtension(); // MimeType $type = $file->getClientMimeType(); // 临时绝对路径 $realPath = $file->getRealPath(); $fileName = date('Y-m-d-H-i-s') . '-' . uniqid() . '.' . $ext; $bool = Storage::disk('uploads')->put($fileName, file_get_contents($realPath)); dd($bool); } } return view('student.upload'); } }
六、邮件发送
1、配置