Illuminate

laravel 使用mews/captcha时session无效

▼魔方 西西 提交于 2020-08-05 17:50:31
aravel中,session存在跨域问题,可使用中间件解决 在app/Http/Kernel.php的中间件中加入以下代码 protected $middleware = [ \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class, \App\Http\Middleware\TrimStrings::class, \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, \App\Http\Middleware\TrustProxies::class, \Illuminate\Cookie\Middleware\EncryptCookies::class, \Illuminate\Session\Middleware\StartSession::class, ]; 重要的2条: \Illuminate\Cookie\Middleware\EncryptCookies::class, \Illuminate\Session\Middleware\StartSession::class,

laravel安装jwt-auth及验证(实例)

£可爱£侵袭症+ 提交于 2020-08-04 20:07:18
laravel 安装jwt-auth及验证 1、使用composer安装jwt,cmd到项目文件夹中; composer require tymon/jwt-auth 1.0.*(这里版本号根据自己的需要写) 安装jwt ,参考官方文档 https:// jwt-auth.readthedocs.io /en/docs/laravel-installation/ 2、如果laravel版本低于5.4 打开根目录下的config/app.php 在'providers'数组里加上Tymon\JWTAuth\Providers\LaravelServiceProvider::class, 'providers' => [ ... Tymon\JWTAuth\Providers\LaravelServiceProvider::class,] 3、在 config 下增加一个 jwt.php 的配置文件 php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider" 4、在 .env 文件下生成一个加密密钥,如:JWT_SECRET=foobar php artisan jwt:secret 5、在user模型中写入下列代码 <?php namespace App\Model;

Laravel模型事件的实现原理详解

旧巷老猫 提交于 2020-07-28 03:59:16
模型事件在 Laravel 的世界中,你对 Eloquent 大多数操作都会或多或少的触发一些模型事件,下面这篇文章主要给大家介绍了关于Laravel模型事件的实现原理,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴。 前言 Laravel的ORM模型在一些特定的情况下,会触发一系列的事件,目前支持的事件有这些:creating, created, updating, updated, saving, saved, deleting, deleted, restoring, restored,那么在底层是如何实现这个功能的呢? 下面话不多说了,来一起看看详细的介绍吧。 一.如何使用模型事件 先来看看如何使用模型事件,文档里面写了两种方法,实际上总共有三种方式可以定义一个模型事件,这里以saved事件来做例子,其他事件都一样。 1.events属性 直接上代码: class User extends Authenticatable { use Notifiable; protected $events = [ 'saved' => UserSaved::class, ]; } 这个比较难以理解,而且文档并没有详细说明,刚开始以为saved被触发后会调用UserSaved里面的handle方法,实际上并不是。这个数组只是对事件做的一个映射

laravel整合workerman做消息推送系统

独自空忆成欢 提交于 2020-05-09 07:07:51
官方建议分离 workerman和mvc框架的结合,我去,这不是有点脑缺氧吗? 大量的业务逻辑,去独立增加方法和类库在写一次,实际业务中是不现实和不实际的 gateway增加一些这方面的工作,但是我看了源码之后,就发现还是只能自己做 先增加composer require workerman/workerman 或者walkor/workerman ,但是官方的github是 walkor/workerman,注意一下 可以去 https://packagist.org查看是否有包 首先结合Console做命令 建立一个Command <? php namespace App\Console\Commands; use Illuminate\Console\Command; use Workerman\Worker; use App\Work\WorkermanWork; class Workerman extends Command { protected $taskserver ; /* * 操作参数 * 注意只能在 * start 启动 * stop 停止 * relaod 只能重启逻辑代码,核心workerman_init无法重启,注意看官方文档 * status 查看状态 * connections 查看连接状态(需要Workerman版本>=3.5.0) * */

laravel-admin 从入门到弃用(三、多级联动选择、回填)

那年仲夏 提交于 2020-04-29 11:58:40
假装之前的安装、页面基本操作都没问题了,现在开始选择控件的多级联动、回填,以省市区三级联动为demo, 一、首先是 多级联动选择 在 控制器的 form() 方法中 $form->select('province', __('省市'))->options($provInfo)->load('city', url('/admin/api/cityInfo')); $form->select('city', __('市区'))->load('area', url('/admin/api/areaInfo')); $form->select('area', __('区县')) 然后在 app/Admin/route.php 中添加添加 上面的url,放在当前控制器前面,或者顶端都可以 创建一个 Areas 的 Model 文件,在文件如下 <?php namespace App\Models; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Facades\DB; class Areas extends Model{ protected $table = 'area'; // protected $primaryKey = 'id'; public function table(){ return $this-

laravel模型建立和数据迁移和数据填充(数据填充没有成功)未完

老子叫甜甜 提交于 2020-04-27 08:52:21
开始创建我们的第一个 Article 模型及其对应迁移文件了,我们在项目根目录运行如下 Artisan 命令一步到位: php artisan make :model Article -m -m 是 --migration 的缩写,告知 Artisan 在创建模型同时创建与之对应的迁移文件(我使用的是 Laradock 作为开发环境): 当然,还需要编辑默认生成的迁移文件: use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateArticlesTable extends Migration { /* * * Run the migrations. * * @return void */ public function up() { Schema ::create('articles', function (Blueprint $table ) { $table ->increments('id' ); $table -> string ('title' ); $table ->text('body' ); $table -> timestamps(); });

laravel-admin 从入门到弃用(二、ueditor 实现图片上传以及上传限制)

余生颓废 提交于 2020-04-23 03:56:16
一、安装ueditor 通过官方扩展 https://laravel-admin.org/extensions 找到 ueditor ,然后按照文档安装完成,并进行基础的配置操作剩余的就和文档没有关系了(不敢有异议) 以下是升级配置 二、编辑器工具栏配置 根据 vendor\codingyu\laravel-ueditor\src\config\ueditor.php 这个文件配置 三、图片上传 修改 config/admin.php 中的 upload 为 以下内容 // Disk in `config/filesystem.php`. 'disk' => 'admin', // Image and file upload path under the disk above. 'directory' => [ 'image' => 'images', 'file' => 'files', ], 'hash_filename' => true, /* 前后端通信相关的配置,注释只允许使用多行方式 */ /* 上传图片配置项 */ 'imageActionName' => 'upload-image', /* 执行上传图片的action名称 */ // 'imageFieldName' => 'upfile', /* 提交的图片表单名称 */ 'imageFieldName' =>

Laravel 7.6 发布

丶灬走出姿态 提交于 2020-04-22 09:23:30
Laravel 团队昨天发布了 v7.6.0,其中包含 13 个新功能以及 7.x 分支的最新修复和更改: 集合新增 “until” 方法 Jason McCreary 贡献了 Collection::until() 方法, 该方法可以循环遍历集合直到元素满足条件再将该元素返回: // Before [$before, $after] = $primes->partition(function ($item) { return $item < 11; }); $before->dump(); // Using until $passed = $primes->until(11)->dump();    此方法采用闭包或值与集合进行对比。 String Empty Methods Mark van den Broek 为 Stringable 和 HtmlString 提供了一些便利方法。第一个, HtmlString::isEmpty() 方法让我们检测空实例更加方便: $string = new \Illuminate\Support\HtmlString(''); // Previously if (empty($string->toHtml())) // Using isEmpty if ($string->isEmpty())    其次,Mark 也贡献了

laravel job 队列

喜欢而已 提交于 2020-04-19 23:19:20
1.数据库建表 php artisan queue:table<span> </ span> //队列任务表 php artisan queue:failed-table<span> </ span> //任务执行失败表 php artisan migrate 2.创建job类 <?php namespace App\Jobs; use App\Services\TestService; use Illuminate\Support\Facades\Log; class CommentInfoJob extends Job { public $commentService; public $user_id; public $comment_id; /** * Create a new job instance. * * @return void */ public function __construct($user_id,$comment_id) { $this->user_id = $user_id; $this->comment_id = $comment_id; } /** * Execute the job. * * @return void */ public function handle() { (new TestService())->testsssss(

Lumen框架—升级改造之路-仓储层

安稳与你 提交于 2020-04-18 05:55:12
仓储层与逻辑层搭建 Lumen官方文档: https://lumen.laravel.com/docs/5.5 我的项目地址: https://github.com/BusinessL/big-lumen 1.Lumen基础框架中,并不包含仓储层,与业务逻辑层,所以我们在app文件夹下,新建两个文件夹(Repositories、Services)。另外新建Models文件夹,用来存放数据源文件。 别害怕在Lumen预设目录以外建立 其他目录 ,根据 SOLID 的 单一职责 原则,class功能越多,责任也越多,因此违法 单一职责 原则,所以你应该将你的程式分割成更小的部分,每个部分都有它专属的功能,而不是一个class功能包山包海,所以整个架构体系不应该只有MVC三个部分,放手根据你的需求建立适当的目录,并将适当的class放到该目录,只要我们的class有namespace帮我们分类即可。 如何使用仓储层? 使用理由 :在 CRUD 中,CUD 比较稳定,但 R 的部分則千变万化,大部分的业务逻辑都在描述 R 的部分,若將业务逻辑写在 controller 或 model 都不适当,会造成 controller 与 model 肥大,造成日后难以维护。 注意 :使用 repository 之后, model 仅当成Eloquent class 即可, 不要 包含业务逻辑