• 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 AppHttpControllers;
    
    use IlluminateHttpRequest;
    use IlluminateSupportFacadesStorage;
    
    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、配置

  • 相关阅读:
    汇编语言2
    汇编语言1
    PE结构对照表
    PE详解之区块表(节表)和区块(节)(PE详解04)
    PE详解之IMAGE_OPTIONAL_HEADER32 结构定义即各个属性的作用(PE详解03)
    PE详解之IMAGE_NT_HEADERS结构定义即各个属性的作用(PE详解02)
    PE详解之IMAGE_DOS_HEADER结构定义即各个属性的作用(PE详解01)
    8088汇编指令大全
    修改寄存器绕过保护
    python shuffle 文本行/Python 打乱txt文本顺序
  • 原文地址:https://www.cnblogs.com/zhengchuzhou/p/9871975.html
Copyright © 2020-2023  润新知