今天早些时候,我对一篇关于 Laravel Folio 的帖子做出了回应,这让我开始思考在 Laravel 中设置路线的所有方法。这就是结果。
添加路由的现成方法是使用路由目录中的文件。
所有 http 动词都有一个等效的 Route 类。对于多个动词,有路线和任何方法。
对于上述所有方法,在大多数情况下,路由与控制器方法耦合。 Route 类有一个特殊的方法,即 view,以防路由不需要逻辑。
如果是静态页面,我认为最好的方法是在 public 目录中使用 .html 文件。
而不是将路由添加到 web.php 文件中。可以创建一个执行相同操作的 ServiceProvider。
namespace App\Providers; use Illuminate\Support\ServiceProvider; class WebRouteServiceProvider extends ServiceProvider { /** * Define the routes for the application. * * @return void */ public function boot() { parent::boot(); Route::middleware('web')->group(function() { // routes }); } }
我建议您使用此功能时,在 web.php 文件中添加注释。未来你和其他开发者都会感谢你。
Folio 可以被视为 Route::view 但从视图的侧面来看。当你在resources/views/pages目录下创建模板时,模板的名称将变成一个url。
Folio 和 Route::view 都可以导致在模板中添加控制器逻辑甚至路由逻辑。对我来说,这是一种代码味道。只有显示逻辑应该位于模板中。
如果你对 Symfony 默认设置路由的方式感到羡慕,你可以安装 Spatie Laravel 路由属性包。
主要好处是路由设置在与生成输出的代码相同的文件中。
与默认方式相比,这种方式的缺点是,对于路由切换,需要更改两个文件而不是一个。
是否坚持默认的设置路线方式或使用其中一种替代方法取决于您。请小心选择视图。
这是一个优秀框架的特性。如果您不喜欢默认体验,只需进行一些细微的更改即可使其变得更有用。
以上是Laravel 路线替代方案的详细内容。更多信息请关注PHP中文网其他相关文章!