Laravel小技巧

来源:互联网 发布:黑马java培训课程目录 编辑:程序博客网 时间:2024/05/21 06:57

①引用config目录下的常量

首先引入

use Illuminate\Support\Facades\Config;

然后使用Config::get("app.url","http://xxx");               获取常量 其中常量为空时取第二个参数的默认值

Config::set("app.url","http://xxx");                改变常量值


用途:多用于设置几乎不变动的常量


②laravel QueryBuilder多条件查询

$arr = array(    'name' => 'lisam',    'email' => '364362035@qq.com');$user = DB::table('users')->where($arr)->get();dd($user);
特点:构建数组,不用写多个where....................................................

③Laravel增加中文语言包

将语言包放到 resources\lang 下,然后设置 config/app 中

'locale' => 'zh-CN',

语言包下载地址:https://yunpan.cn/cSFKYDrXkrwUD  访问密码 824f

④ajax请求失败(csrf验证失败)

<meta name="_token" content="{{ csrf_token() }}"/>
beforeSend: function(request) {    return request.setRequestHeader('X-CSRF-Token', $("meta[name='_token']").attr('content'));},

设置上面的就ok了


⑤邮件发送之QQ邮箱

qq邮箱使用有点麻烦,需要设置相关参数如下:

用QQ的smtp,需要设置ssl加密,465的端口。我这里测试是可以用的。


⑥特定操作方法使用middleware

$this->middleware('auth.basic',['only'=>['jwt_login']]);

⑦临时修改用户认证的默认模型

事情发生是这样的----》我高兴的做dingo+jwt 的api验证,但是我需要改变model,比如把App/User改为App/Client,这只需在Route::group加上自定义的middleware即可:

public function handle($request, Closure $next){    config(['jwt.user' => '\App\Client']);    //重要用于指定特定model    config(['auth.providers.users.model' => \App\Client::class]);//重要用于指定特定model!!!!    return $next($request);}

然后使用:

$api->group(['namespace' => 'App\Api\Controllers','middleware' => ['client.change']], function ($api) {

。。。。这样就临时改变了认证model。。。。多么方便