L02 Web 开发实战笔记(重点知识点)
-
Laravel 项目中使用 Bootstrap 前端框架
$ composer require laravel/ui --dev
-
app()->getLocale()
获取的是config/app.php
中的 locale 选项 -
npm的依赖可以用yarn安装
$ npm config set registry=https://registry.npm.taobao.org $ yarn config set registry https://registry.npm.taobao.org
-
mix和asset的区别
mix() \\动态加载 asset () \\静态加载
-
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
- 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;
- 前置包 经常用到的两个 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"
- 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 协议》,转载必须注明作者和本文链接
推荐文章: