L02 Web 开发实战笔记(重点知识点)

  1. Laravel 项目中使用 Bootstrap 前端框架

    $ composer require laravel/ui --dev
  2. app()->getLocale() 获取的是 config/app.php 中的 locale 选项

  3. npm的依赖可以用yarn安装

    $ npm config set registry=https://registry.npm.taobao.org
    $ yarn config set registry https://registry.npm.taobao.org
  4. mix和asset的区别

    mix()        \\动态加载 
    asset ()     \\静态加载
  5. webpack.mix.js 增加 .version(),解决浏览器缓存问题

    const mix = require('laravel-mix');
    mix.js('resources/js/app.js', 'public/js')
    .sass('resources/sass/app.scss', 'public/css').version();

    webpack.mix.js 文件只在 npm run watch-poll 指令执行时引入,之后指令后台运行不再重新引入。如果你后台运行 watch-poll 命令的话,需关闭 watch-poll服务(Ctrl + Z),再次启动( npm run watch-poll )即可生效。

7.一个新项目git

配置全局信息

$ git config --global user.name "Your Name"
$ git config --global user.email your@example.com

设置 Git 推送分支时相关配置

git config --global push.default simple

初始化

$ git init
$ git add -A
$ git commit -m "初始化"

接下来将 SSH Key 添加到 ssh-agent 中

cat ~/.ssh/id_rsa.pub
  1. config/app.php配置文件修改
    'locale' => 'zh-CN',       //注意不是下划线
    'timezone'  =>  'Asia/Shanghai',   //不过我喜欢用PRC,懒,少打字

9.验证码的安装

composer require "mews/captcha:~3.0"

运行以下命令生成配置文件 config/captcha.php:

php artisan vendor:publish --provider='Mews\Captcha\CaptchaServiceProvider' 

配置文件config/captcha.php 设计大小,位数等

前台调用使用

<div class="form-group row">
              <label for="captcha" class="col-md-4 col-form-label text-md-right">验证码</label>

              <div class="col-md-6">
                <input id="captcha" class="form-control{{ $errors->has('captcha') ? ' is-invalid' : '' }}" name="captcha" required>

                <img class="thumbnail captcha mt-3 mb-2" src="{{ captcha_src('flat') }}" onclick="this.src='/captcha/flat?'+Math.random()" title="点击图片重新获取验证码">

                @if ($errors->has('captcha'))
                  <span class="invalid-feedback" role="alert">
                    <strong>{{ $errors->first('captcha') }}</strong>
                  </span>
                @endif
              </div>
            </div>

验证规则 captcha的部分 修改目录:app/Http/Controllers/Auth/RegisterController.php

protected function validator(array $data)
    {
        return Validator::make($data, [
            'name' => ['required', 'string', 'max:255'],
            'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
            'password' => ['required', 'string', 'min:6', 'confirmed'],
            'captcha' => ['required', 'captcha'],
        ], [
            'captcha.required' => '验证码不能为空',
            'captcha.captcha' => '请输入正确的验证码',
        ]);
    }

10.在 Laravel 中,我们可直接通过 请求对象(Request) 来获取用户上传的文件,如以下两种方法

// 第一种方法
$file = $request->file('avatar');

// 第二种方法,可读性更高
$file = $request->avatar;
  1. 前置包 经常用到的两个 laravel/ui 使用 laravelcollective/html
//laravel  登录注册
composer require laravel/ui --dev
artisan ui:auth
//form & html
composer require laravelcollective/html
//图片
composer require intervention/image
php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravel5"    
  1. form表单的两种形式
{!! Form::model($user, ['route'=>['users.update',$user->id],'method'=>'POST','files'=>true]) !!}
{!! Form::close() !!}

form会自动加上csrf_token()

 <form action="{{ route('users.update', $user->id) }}" method="POST" accept-charset="UTF-8"
                    enctype="multipart/form-data">
                    <input type="hidden" name="_method" value="PUT">
                    <input type="hidden" name="_token" value="{{ csrf_token() }}">
</form>

13.$topic->fill($request->all()); fill 方法会将传参的键值数组填充到模型的属性中

$topic->fill($request->all())
本作品采用《CC 协议》,转载必须注明作者和本文链接
Practice makes perfect !
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1

12

<input type="hidden" name="_token" value="{{ csrf_token() }}"> 可以修改为 @csrf 来代替。


加油好好学

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!