ryancco/laravel-pages

此包已被弃用且不再维护。未建议替代包。

您的Laravel应用程序中的静态页面

v1.2 2021-03-26 17:48 UTC

This package is auto-updated.

Last update: 2023-09-20 18:02:21 UTC


README

此包已被存档。如果您正在寻找类似的功能,请查看Laravel Folio。

Laravel Pages

Packagist GitHub Workflow Status Packagist

Laravel Pages 允许您在不配置路由或控制器,以及不需要在您的 public/ 目录中版本文件的情况下提供静态页面。

此包的主要目的是允许熟悉编写代码的设计师向开发者最终将设计融入的同一存储库做出贡献。允许版本控制历史记录的单一轨迹通过,并为整个团队提供一个更协作和包容的工作空间,而无需更高的门槛。

此包还有很多其他用例 - 任何您想要快速搭建和提供静态文件的地方,同时还具有利用 blade 编译器组合页面和 Laravel mix 构建资源的能力,而无需创建新项目。

此包受到了 Rails 世界中 High Voltage(来自 thoughtbot)的极大启发。

使用方法

composer require ryancco/laravel-pages

默认情况下,

  • 创建视图文件的路径将是 resources/pages/
  • 访问这些页面的默认路由前缀将是 http://your-app.com/pages/
  • 页面没有应用中间件 (这包括提供会话功能的 web 中间件组)

尽管这些都可以在 config/pages.php 文件中配置。

php artisan vendor:publish --provider="Ryancco\Pages\PagesServiceProvider"

注意:为了在您的页面中使用任何基于会话的逻辑(即 AuthSession 面具)或 blade 指令,例如与用户授权状态相关的任何内容(即 @auth@guest),您必须配置页面使用 web 中间件组或单个 StartSession 中间件。

[
// ...
    'middleware' => [
         'web'
    ]
// ...
];

配置好页面后,如果您在 resources/pages/about.blade.php 中创建了一个视图,您就可以通过 http://your-app.com/pages/about 访问它。而无需注册任何路由或创建任何控制器。

路由

您可以从应用程序内部将页面路由到,就像您会对任何其他动态页面或路由一样。

除了利用相对/绝对路径和 url 辅助程序的常规路由方法之外,还有一个 page 辅助程序和 Page 面具,它们接受斜杠和点形式的路径。

// continue to work as expected 👍
redirect()->to('/pages/about_us');
redirect()->to(url('pages/about_us'));

// both work - regardless of your configured prefix 👌
redirect()->to(page('pages/about_us'));
redirect()->to(page('pages.about_us'));

// also available via the Pages facade 🤝
redirect()->to(Pages::url('pages/about_us'));
redirect()->to(Pages::url('pages.about_us'));

注意:因为包路由是最后加载的,您可以设置路由前缀为空字符串,以便从顶级提供静态页面,同时与您应用程序定义的路由一起提供。但是,这可能与在此包加载后注册的路由冲突(即其他包注册的路由以及应用程序路由文件外注册的路由)。

许可证

Laravel Pages 采用 MIT 许可证。请参阅 LICENSE.md 文件获取更多信息。