settermjd / zend-expressive-static-pages
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: 2023-05-10 16:10:06 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应用程序中快速提供静态内容文件所需的所有内容。