【发布时间】:2021-02-19 11:08:56
【问题描述】:
我必须为客户维护一个网站,他们是用 Laravel 制作的,他们最频繁的请求是创建新的静态页面,我创建的越多 - 我越觉得肯定有更好的方法来实现他们。
要创建一个静态页面,我转到管理面板,一个菜单“静态页面”,按下一个按钮“新建”,然后创建一个进入数据库表的条目。为了让静态页面显示在网站上,我必须在一个名为“FrontEndController”的控制器中定义它,如下所示:
public function some_page() {
$page = StaticPages::find(1);
return view('frontend.static_pages.some_page', compact('page'));
}
public function some_other_page() {
$page = StaticPages::find(2);
return view('frontend.static_pages.some_other_page', compact('page'));
}
...
然后像这样定义路由:
Route::get('some-page', 'FrontEndController@some_page')->name('static_page.some_page');
Route::get('some-other-page', 'FrontEndController@some_other_page')->name('static_page.some_other_page');
现在我一直认为您创建一个带有菜单“静态页面”和“新建”按钮的管理面板,这样您就不必手动输入任何代码,但似乎开发人员有其他想法......
所以我的问题是你如何重构这样的代码,这样你就不必在任何类似的场景中经历所有重复的过程并手动编写代码?
顺便说一句,我有时可能需要将一些通用参数发送到不同的静态页面,并且我希望保持 URL 与它们相同。请记住,我不是 Laravel 甚至 PHP 的高级用户。
【问题讨论】: