Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 构建成一种拉维方式方法_Php_Laravel - Fatal编程技术网

Php 构建成一种拉维方式方法

Php 构建成一种拉维方式方法,php,laravel,Php,Laravel,所以我对拉拉维尔是新手,我试着用拉拉维尔的方式做事 我正在重建一个定制的cms。想法很简单 1) 你有一个有鼻涕虫的页面 2) 页面可以有组件(小部件) 每个组件都有自己的控制器文件和视图(细枝模板) 这个概念是 1) 拿子弹 2) 使用slug从数据库获取页面 3) 获取页面上的组件 4) 渲染所有组件(每个组件都有一个控制器和视图) 5) 使用组件呈现页面。页面有自己的控制器 因此,在这一点上,我的“黑客”正在发挥作用 我可以获取slug、检索页面、获取组件、渲染组件和渲染页面 但这并不漂亮

所以我对拉拉维尔是新手,我试着用拉拉维尔的方式做事

我正在重建一个定制的cms。想法很简单

1) 你有一个有鼻涕虫的页面 2) 页面可以有组件(小部件)

每个组件都有自己的控制器文件和视图(细枝模板)

这个概念是

1) 拿子弹 2) 使用slug从数据库获取页面 3) 获取页面上的组件 4) 渲染所有组件(每个组件都有一个控制器和视图) 5) 使用组件呈现页面。页面有自己的控制器

因此,在这一点上,我的“黑客”正在发挥作用

我可以获取slug、检索页面、获取组件、渲染组件和渲染页面

但这并不漂亮

我现在的出发点是路线

Route::get('{slug?}', function ($slug="/") {

// 1) get the slug
// 2) retrieve page from database 
// 3) retrieve components on that page from database
// 4) render each component (calling their controller) and return the html
// 5) render the page (it has it's own controller , the component html is passed into the controller) and output the html

})
在这个函数中有很多逻辑,我想减少它

当然,我可以为页面和组件创建一个模型,以从数据库中获取数据。 我不想创建一个页面控制器,然后在该控制器中调用组件控制器


Laravel的方法是什么?

不确定您是如何构建默认布局的,但可以提供帮助。啊哈。。是的,所以我可以做1)路由直接映射到页面布局控制器2)通过模型获取数据3)注册页面布局视图生成器,这样当呈现页面布局时,就会触发回调4)在回调中,我可以循环遍历组件,调用每个视图(也可能使用视图生成器)然后将html返回到页面布局视图。