完成首页的controller方法-Symfony5全面开发

您需要登录后才可观看此视频

为了更好的为您提供服务,请您登录后再查看本课程。

立即登录

我们前面课程讲过,Controller的action方法,最终的返回结果一定是个Response对象,我们看index()方法,它的返回值是个Response对象。在函数体中直接返回了$this->render()方法的结果。

我们按着command键点击render()方法,在render()方法中,使用renderView()方法将参数渲染到模板文件中,最后返回一个$content变量,$content变量就是我们模板文件渲染后的HTML代码,在第262行创建了一个Response对象,第265行将$content变量设置到Response对象中,最后返回Response对象。

所以render()方法它的返回值也是个Response对象,现在我们修改一下代码,我们想让博客的首页只显示状态是已发布状态的文章,我们替换一下findAll()方法。

我们使用findBy()方法过滤出所有已发布状态的文章,第1个参数它是个数组,数组的键就是Post类的属性,这里我们设置status,发布状态是published,结果的排序按照降序排序。

我们按着command键鼠标移动到findBy()方法中,findBy()方法的第2个参数也是个数组,它用来对结果进行排序,我们让结果按照id降序的方式进行排序。确保我们的服务器正在运行,打开浏览器输入127.0.0.1:8000,出错了。

在上一节课,我们删除了很多代码,我们点开index.html.twig文件,我们删除了编辑文章的action方法和新增文章的action方法。在下节课,我们将讲解Twig模板的使用方法来解决现在的错误问题。

课程讨论

当前内容评论功能已关闭。