settermjd / laminas-static-pages
在Zend Expressive应用程序中渲染静态页面的一种简单、几乎无痛的方式。
Requires
- php: ^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0
- laminas/laminas-config-aggregator: ^1.6.0
- laminas/laminas-diactoros: ^2.8.0
- laminas/laminas-stdlib: ^3.6.0
- mezzio/mezzio: ^3.6.0
Requires (Dev)
- filp/whoops: ^2.5.0
- laminas/laminas-development-mode: ^3.3.0
- phpspec/prophecy-phpunit: ^2.0
- phpstan/phpstan: ^0.12
- phpstan/phpstan-strict-rules: ^0.12
- phpunit/phpunit: ^9.5
- roave/security-advisories: dev-master
- squizlabs/php_codesniffer: ^2.9.2
- zendframework/zend-coding-standard: ^1.0
Suggests
- laminas/laminas-component-installer: ^2.5 for auto-enabling modules
This package is auto-updated.
Last update: 2024-09-10 18:59:20 UTC
README
几乎无痛地在Mezzio应用程序中渲染静态页面的方法。
注意:此模块不支持laminas-mvc应用程序。
此包的目的是避免仅为了渲染静态内容而创建处理器和处理器工厂的需要。这是由我参与的一些项目激发的,至少在那时是这样的。这种做法对我来说从未有意义,因此这激发了我去解决自己的问题。
入门指南
要安装此包,运行composer require settermjd/laminas-static-pages。
如果您想在运行composer require/install/update时自动启用模块,那么您的项目需要使用laminas/laminas-component-installer。如果是的话,当包安装时,您将被询问是否要启用其ConfigProvider。用Y回答,然后包即可使用。
如果您不使用laminas-component-installer,或者由于某种原因无法使用,请确保\StaticPages\ConfigProvider::class,在config/config.php中的ConfigAggregator列表中,如下例所示。
$aggregator = new ConfigAggregator([ \StaticPages\ConfigProvider::class, ]);
安装完包后,您现在需要执行以下两个步骤
- 配置模板路径
- 创建路由
- 创建模板文件
配置模板路径
要配置模板路径,请确保您的模板路径列表中有一个键为static-pages的项,如下例所示。
public function getTemplates() : array { return [ 'paths' => [ 'static-pages' => [__DIR__ . '/../templates/static-pages'], ], ]; }
创建路由
要为静态页面创建路由,在您的路由表中添加一个或多个命名路由,其中
- 路由的处理器是
StaticPagesHandler::class - 名称遵循以下约定:
static.<template_file_name_minus_file_extension>。
假设我们要为隐私页面添加一个路由,并且将要渲染的模板文件是privacy.phtml。在这种情况下,我们需要将以下内容添加到config/routes.php中
$app->get('/privacy', StaticPagesHandler::class, 'static.privacy');
创建模板文件
文件可以包含任何您想要的内容,这无关紧要。
这就完了
如果一切顺利,这应该就是您在Mezzio应用程序中快速提供静态内容文件所需的所有内容。