首页 > php框架 > Laravel > 正文

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

冰火之心
发布: 2025-11-09 17:49:02
原创
661人浏览过
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 Laravel\Folio\Folio;
<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 脚本来处理数据。

如此AI员工
如此AI员工

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

如此AI员工 71
查看详情 如此AI员工
<?php
    $post = \App\Models\Post::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中文网其它相关文章!

路由优化大师
路由优化大师

路由优化大师是一款及简单的路由器设置管理软件,其主要功能是一键设置优化路由、屏广告、防蹭网、路由器全面检测及高级设置等,有需要的小伙伴快来保存下载体验吧!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号