问个深一点的问题,大佬们有解决方案吗?

这一课里面 _header.blade.php 里面是写死的导航。我思考了下逻辑,比如要求导航是动态渲染的,就是 categories 表的数据不是死的(比如不是4个分类,有很多分类,我按排序规则显示前4条),那每个页面在渲染之前都必须查一次现有的分类了?有没有其他解决思路呢?要是我要求分类导航是动态渲染的?

  • 能用 session 缓存么?任何控制器的构造函数里面都先判断 session 里面存的有没有4条分类,没有就查询一次,然后存 session 里面,同时每个需要渲染视图的方法,都在 return view() 之前读 session 里面存的分类数据,然后连同其他数据一并发送给视图?
附言 1  ·  5年前

另外我想问一个基础的问题,就是控制器这个类,在调用了它的方法之后,就会释放吗?比如

class XxxController extends Controller
{
  private $xxx;

  public function yyy()
  {
     $this->xxx = 'hahaha';
  }

  public function zzz()
  {
     return $this->xxx;
  }
}

调用 yyy() 后再调用 zzz() ,此时 $xxx 是空,还是 hahaha

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
DianWang
最佳答案

视图共享,这个功能了解一下,多看看文档,基本需要的都有的。

5年前 评论
讨论数量: 5
DianWang

视图共享,这个功能了解一下,多看看文档,基本需要的都有的。

5年前 评论
Jourdon

第一个问题,建议用缓存,比如redis,分类不会总是在变,修改的时候再生成一次缓存就可以了

第二个问题,我觉得你自己测试一下不就知道了?比我告诉你要强吧!

5年前 评论

@Jourdon 主要是第二个问题和第一个问题有关系,如果可以保留这个值的话,就可以不用缓存了。但是我印象中是不行的,偷懒一遍问了,哈哈哈。

5年前 评论
DianWang

视图共享,这个功能了解一下,多看看文档,基本需要的都有的。

5年前 评论

@DianWang 看一眼就完美解答了,谢谢。

5年前 评论
ruodee

请再回味一下laravel请求的生命周期,如果你的调用时在一个生命周期,$xxx='hahaha';如果不是在一个生命周期,$xxx=null;

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!