laravel Folio基于文件的路由如何使用_Laravel Folio文件路由使用教程

laravel Folio通过文件系统自动生成路由,无需手动定义。安装后配置Folio::path并设置中间件,resources/views/pages下的Blade文件自动映射为对应URL,如home.blade.php→/home,子目录按路径生成,支持[index]命名的动态参数,如[slug].blade.php捕获变量,可在模板中直接使用${“param”}获取值,结合php脚本处理简单逻辑,支持布局设定与全局数据共享,适用于快速构建静态或内容型站点。

laravel Folio基于文件的路由如何使用_Laravel Folio文件路由使用教程

Laravel Folio 是 Laravel 官方推出的基于文件系统的轻量级路由系统,特别适合构建不需要复杂路由定义的静态页面或简单内容型网站。它通过约定优于配置的方式,将 resources/views/pages 目录下的 Blade 文件自动映射为 Web 路由,无需手动编写 routes/web.php 中的每一个路由。

启用 Laravel Folio

要在项目中使用 Folio,首先需要安装并启用它:

  • 通过 composer 安装 Folio:
    composer require laravel/folio
  • bootstrap/app.phpapp/Providers/RouteServiceProvider.php 中调用 Folio::route() 来启动文件路由。

例如,在 RouteServiceProviderboot 方法中添加:

use LaravelFolioFolio; <p>Folio::path(resource_path('views/pages'))->middleware(['web']);

这表示所有位于 resources/views/pages 的 Blade 文件都会被自动注册为路由。

基础路由映射规则

Folio 根据文件路径生成对应的 URL 路径:

  • resources/views/pages/home.blade.php/home
  • resources/views/pages/index.blade.php/(根路径)
  • resources/views/pages/about.blade.php/about
  • 子目录:resources/views/pages/blog/post-1.blade.php/blog/post-1

你不需要做任何额外配置,只要文件存在,就能通过对应 URL 访问。

使用变量和动态路由

Folio 支持基于文件名的动态参数绑定。使用 [slug] 这样的命名方式即可捕获动态段。

  • resources/views/pages/posts/[id].blade.php 可以匹配 /posts/1/posts/abc 等路径。
  • 在 Blade 模板中通过 ${“id”} 获取参数值:

<!-- resources/views/pages/posts/[id].blade.php --> <h1>查看文章 ID:{{ $id }}</h1>

支持多层嵌套和多个参数:

  • pages/users/[user]/photos/[photo].blade.php/users/alice/photos/1
  • 可用变量:$user$photo

在页面中处理数据或逻辑

虽然 Folio 主要用于静态内容展示,但也可以通过在 Blade 文件顶部插入 PHP 脚本来处理数据。

laravel Folio基于文件的路由如何使用_Laravel Folio文件路由使用教程

如此AI员工

国内首个全链路营销获客AI Agent

laravel Folio基于文件的路由如何使用_Laravel Folio文件路由使用教程 71

查看详情 laravel Folio基于文件的路由如何使用_Laravel Folio文件路由使用教程

<?php     $post = AppModelsPost::find($id); <pre class="brush:php;toolbar:false;"><pre class="brush:php;toolbar:false;">if (! $post) {     abort(404); }  $title = $post->title;

?youjiankuohaophpcn

<h1>{{ $title }}</h1> <p>{{ $post->content }}</p>

这种写法适合简单的页面逻辑,保持简洁的同时避免创建控制器。

设置布局和共享数据

你可以为一组页面指定公共布局:

// 在 RouteServiceProvider 中设置默认布局 Folio::path(resource_path('views/pages'))      ->layout('layouts.app');

或者在特定文件夹下使用不同的布局:

Folio::path('resources/views/pages/admin')      ->layout('layouts.admin');

还可以通过 share 方法注入全局数据:

Folio::share('siteName', 'My Blog');

这样所有页面都可以直接使用 {{ $siteName }}

基本上就这些。Laravel Folio 让你用最简单的方式快速搭建内容型站点,省去大量重复的路由定义工作,特别适合文档页、营销页、博客等场景。

以上就是laravel Folio基于文件的路由如何使用_Laravel Folio文件路由使用教程的详细内容,更多请关注php中文网其它相关文章!

上一篇
下一篇
text=ZqhQzanResources