实战进阶,第一遍初步完成打卡
这篇文章有些本末倒置,因为它写于本书学习之初,目的是:
- 学习过程中记录疑惑
- 可能与本人性格比较有关,碰到问题喜欢自己先钻研、查阅资料、瞎搞一番,实在解决不了再请教老师,
- 也可能是所在公司于我的成长已经寥寥无几,所以最近有些想再找找机会,有些急于想把所有书先看完,之后再来慢慢研究学习过程中的疑惑,
- 但也并非是不喜欢被人帮助,还是真心希望有缘看到此篇文章并且对本文中的某个(些)疑惑有一些自己看法的老师不吝赐教 ~ 『不要移开那座大山,请给我力量爬过他』,
- 所以本书之中的疑惑之处就不记录在每节课下方了,统一汇总也方便学完之后的温习」。
- 初步完成后分享作品,
- 学完之后的项目完善与部署相关
学习过程中的疑惑:
-
邮箱认证 ,本篇文章中:
-
SEO
友好的URL
一文中:app/Models/Topic.php
中link
方法的参数$params
的应用场景在何处?<?php namespace App\Models; class Topic extends Model { public function link($params = []) { return route('topics.show', array_merge([$this->id, $this->slug], $params)); } }
-
应用场景在此:
resources/views/users/_replies.blade.php
;<a href="{{ $reply->topic->link(['#reply' . $reply->id]) }}"> {{ $reply->topic->title }} </a>
-
又引出了一个新问题,
link()
方法的定义:public function link($params = []) { return route('topics.show', array_merge([$this->id, $this->slug], $params)); }
-
查看
Laravel 5.8
的手册中辅助函数route
的解释,可知,第三个参数为绝对URL
与相对URL
的区分标示,既然如此,为什么上文提到的应用场景中link()
方法所生成的链接会是:http://larabbs.test/topics/982?#reply408
这种结构呢?
-
-
后台访问权限 一文中:
<?php . . . class PagesController extends Controller { . . . public function permissionDenied() { // 如果当前用户有权限访问后台,直接跳转访问 if (config('administrator.permission')()) { return redirect(url(config('administrator.uri')), 302); } // 否则使用视图 return view('pages.permission_denied'); } }
- 上方代码片段中:
if (config('administrator.permission')())
这步判断是否多此一举? - 根据 问答回复 文中所说的:
如果不加这个的话 用户登陆后就会留在这个无权限页面 体验很差
- 经过测试,并不会出现上方场景。
- 上方代码片段中:
-
学习至此:用户最后登录时间:
- 任务调度已经定义了两个定时任务,且每天凌晨
00:00
时分,两个任务会同时进行; - 如果后续定时任务达到了一定的量之后,不可避免的多个定时任务会操作同一个表;
- 这时,凌晨
00:00
时分大多数定时任务都会执行,会出现相互锁死的情况吗?或者是其他的影响呢?
- 任务调度已经定义了两个定时任务,且每天凌晨
自省方案
- 通过申请成为助教,力所能及的解答一些问题来加深自己的印象;
完善目标:
- 该作品需支持
Markdown
语法,排版与UI
参考LearnKu
社区; - 用户关注功能;
- 参照 PHPHub 5 源码,实现 @某个人 功能;
- 将项目部署在
Heroku
上; - 将项目部署在阿里云服务器上;
- 涉及到的第三方服务尽可能迁移到阿里云上;
-
活跃用户和资源推荐的缓存判断有问题,
vendor\laravel\framework\src\Illuminate\Cache\Repository.php
中:public function remember($key, $ttl, Closure $callback) { $value = $this->get($key); if (! is_null($value)) { return $value; } $this->put($key, $value = $callback(), $ttl); return $value; }
is_null
判断collect
是有些问题,需要优化。
推荐文章: