分类下相关文章
2020-07-21 · 阅读 4437 · 字数 374
Route::controllers 是 Laravel 老版本的语法,在 Laravel 6.x 中已经不再支持。需要进行兼容处理。 laravel 6.x 下报错 例如: Route::controllers(['blog'=>'BlogController']); 报错 InvalidArgumentException : Attribute [controllers] does not exist. Route::controllers 这种用法在 Laravel 5.3 之后已经被废弃,由于历史项目中大量这种旧有的写法,即,controller 代码中大量的 getXX ...
2020-07-20 · 阅读 4083 · 字数 460
laravel filter 的原始意义 这是 laravel 4.x 及 5.0 中的概念 https://laravel.com/docs/4.2/routing#route-filters Route filters provide a convenient way of limiting access to a given route, which is useful for creating areas of your site which require authentication. filter 与 middleware 的对比 按照 laravel 6 文档的说法,mid ...
2020-07-17 · 阅读 6381 · 字数 566
需要将一套历史悠久的 laravel 5.0 / 5.2 系统,升级到 laravel 6 LTS 版本。同时,对应的 PHP 版本也要升级到最新的 PHP 7.4。由于代码量巨大,且逻辑多得看不过来,需要一套高效的策略来升级。 laravel 升级策略 官方只提供了 5.8 到 6 的升级建议 https://laravel.com/docs/6.x/upgrade 于是 Google 了一通,发现普遍的建议是,采用逐个小版本升级的方式。 To be honest you should make update step by step. First upgrade 5.2 to 5.3, t ...
2020-03-04 · 阅读 10393 · 字数 329
Laravel 7 为非 LTS 版本,目前只有 Laravel 6 和 5.5 版本是 LTS 版本。 路由缓存提速 提升 Laravel 的性能真是当务之急,Laravel 7 号称提升了 Route Caching 的速度。 以最简单的 Hello World 为例,提升了两倍的速度。然而杯水车薪。 内置了 HTTP Client 实际上是对 Guzzle 的封装,这下方便多了,不用再手动导入 Guzzle 了。 use Illuminate\Support\Facades\Http; $response = Http::post('url', [ 'name' => ' ...
2019-09-23 · 阅读 10858 · 字数 195
我之前都是不关注上传图片的文件名后缀的,直接放到七牛云存储上。 但是正在做的海外站点开启了 Cloudflare CDN 加速,可以免费的进行图片等资源文件的缓存。 而 Cloudflare 是根据文件名后缀来判断该文件是否应该进行缓存的,所以如果不加上图片文件名的后缀,Cloudflare 默认认为是不需要换成的,就会回源到原服务器。这样就起不到 CDN 加速的效果了。 所以,统一在存储上传图片的时候,加上了图片文件名后缀。 $file = $request->file('file'); // website_logo.png $extension = $fil ...
2019-09-07 · 阅读 6499 · 字数 186
用旧的方法给 Laravel 项目安装 certbot https 证书报错: sudo certbot --nginx Failed authorization procedure. xxx.sunzhongwei.com (http-01): urn:ietf:params:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://xxx.sunzhongwei.com/.well-known/acme-challenge/xxx " ...
2019-09-03 · 阅读 9244 · 字数 490
终于等到 Laravel 6.0 发布 (将于19年9月3号发布),Laravel 6.0 是一个 LTS 版本 , 所以有必要认真看一下新功能有哪些。 LTS(Long-term Support)长期支持 Laravel 上一个 LTS 版本是 5.5。LTS 版本,例如 Laravel 6.0, 将提供两年的 bug 修复和三年的安全漏洞修复。 看了一下官方 release notes 的介绍,https://laravel.com/docs/6.0/releases,主要更新有这几个: PHP 7.2 Laravel 6.0 需要 php 7.2 或更高版本。 使用语义化版本号 La ...
2019-07-31 · 阅读 6446 · 字数 385
早上查看 laravel 任务队列的运行状况时,发现剩余一条 job,一直没有处理完。 然后,查看日志,发现在不断报错: Numeric value out of range: 1264 Out of range value for column 'attempts' at row 1 (SQL: update jobs set reserved_at = xx, attempts = 256 wh ere id = xx) 感觉是 attempts 字段类型问题,于是查看了一些 jobs 表的建表语句 | jobs | CREATE TABLE `jobs` ( `id` bigi ...
2019-07-12 · 阅读 5494 · 字数 107
我想限制后台登陆账号所拥有的角色数量。例如,一个人最多只能有一种角色。 可以使用 array between 规则来校验。 public function rules() { return [ 'password' => 'confirmed', 'roles' => 'array|between:0,1', ]; } public function messages() { return [ 'password.confirmed' => '请确认密码一致', 'between' =& ...
2019-06-06 · 阅读 6579 · 字数 385
现实场景 一个论坛系统,当后台管理人员进行删帖,需要对用户的发帖量进行重新计算。 所以,需要能监听 Model 的删除事件。 三种实现方法。后面两种为官方推荐的方法,然而我更喜欢第一种。。。 方法一 优点:简单粗暴 缺点:可读性不好。当你没看过 AppServiceProvider,并不知道还有这个触发的逻辑。 app/Providers/AppServiceProvider.php public function boot() { Post::deleted(function($post){ $user_id = $post->user_id; ...
2019-05-20 · 阅读 5393 · 字数 116
有的页面需要长时间编辑,例如超过2个小时,这种情况下一旦出现因 token 失效而保存失败,用户体验会非常差。 所以,需要针对性的延长失效时间。 laravel csrf token 失效问题 修改: config/session.php 将 // 两小时 'lifetime' => 120 调整为 // 六小时 'lifetime' => 360 七牛 upload token 失效问题 将默认的一小时,调整为 24 小时。 return response()->json(['uptoken' => QiniuStorage::disk('qiniu')- ...
2019-05-08 · 阅读 11371 · 字数 199
场景 由于浏览历史记录表数据量巨大,所以不敢用这个表进行联表操作。 在帖子浏览记录接口逻辑中,先获取了最近的浏览帖子的 ID 集合,然后使用 where in 操作获取具体的帖子信息。 $saves = VisitHistory::where('user_id', $user->id) ->orderBy('id', 'desc') ->offset($offset) ->limit($limit) ->get(); $items = Post::with('user:id,name,is_master,avatar_url') ...
2019-05-08 · 阅读 10003 · 字数 319
参考 https://laravel.com/docs/5.5/notifications 创建提醒 php artisan make:notification InvoicePaid app/Notifications 目录下会新增一个对应的 class 场景 关注的人有发新帖子 自己的帖子有人回复 自己的回复有人回复 单独发送消息 VS 群发消息 给指定用户发送 $user->notify(new InvoicePaid($invoice)); 群发消息 Notification::send($users, new InvoicePaid($invoice)); 通知的方式 ...
2019-04-01 · 阅读 9163 · 字数 189
版本:maatwebsite/excel 2.1 导出的 Excel 文件,无法打开,报错信息: 使用 vimdiff 对比了一下其他项目可以打开的 Excel 和无法打开的 Excel 文件格式。 发现无法打开的 Excel 有一个共同点,文件首行是个空白行。删除空白行之后,Excel 就能正常打开了。 同时,在 Github 该项目的 issue 列表里找到了同样的问题: https://github.com/Maatwebsite/Laravel-Excel/issues/202 解决方案是,在 Excel::create 之前加上两行 ob_end_clean(); ob_start ...
2019-03-28 · 阅读 11751 · 字数 167
如果是一个纯粹的网站项目,只需要使用 web.php 里的路由就可以了。ajax 需要使用到的 route 也是定义在 web.php 中。 如果是一个非网页项目,例如微信小程序,Android / iOS APP 项目,或者给三方开发者提供接口,则应该使用 api.php。因为 cookie 那一套并不适用。 Web 路由使用了 web middlewareGroups 。包含类似 Session 及 CSRF 保护,而网页 ajax 同意需要 CSRF 保护。 API 路由使用了 api middlewareGroups 参考 app/Http/Kernel.php protected ...
生活 | 跑步 清单 足球 鲁班 探索 孤独的美食家 驾驶 电视剧 收纳 奶爸 健康 game 电影 周末 joke |
---|---|
Geek | 健身 Laravel Git Vim MySQL Linux UI Windows SVN 纪录片 管理 Shell 游记 工具 手机 BackboneJS 自建博客 Mac DNS Tornado CDN Django Python AngularJS 理财 前端 Nginx 爬虫 Redis Javascript Browser 浏览器 推广 OAuth CSS PHP Social Networks 安全 运维 创业 杂记 VueJS Android Image IDE Java ReactJS 数据分析 SQLite RESTful 读书笔记 家电 ecshop Vagrant wordpress docker SEO GTD magento mongodb nodejs weex 冷知识 ruby iOS 微信小程序 AI CMS 快应用 backpack 广告联盟 OA 短信 UWP Win CSharp Tampermonkey graphviz 钉钉 WPS 数据字典 微信公众号 Fuchsia Adobe XD SQL Server thinkphp 代码规范 商业模式 Flutter 头痛的问题 serverless 视频制作 国际化 golang 服务器 Kotlin 网站建设 5G 笔记本 图片 spark spring 物联网 InfluxDB 图像识别 postgre rust |
成长的烦恼 | 闲言碎语 待产 不睡觉 写作 程序员 孙心然语录 原则 大鸿语录 |
地球 | 植物 时间 中文 赚钱 国家地理 烟台 一生伏首拜阳明 emoji 弟子规 英文 国际贸易 |