phly / phly-simple-page
ZF2 模块,用于轻松创建静态页面
Requires
- php: ^7.2
- laminas/laminas-cache: ^2.9
- laminas/laminas-eventmanager: ^3.2.1
- laminas/laminas-http: ^2.9.1
- laminas/laminas-mvc: ^3.1.1
- laminas/laminas-stdlib: ^3.2.1
- laminas/laminas-view: ^2.9.1
- ocramius/package-versions: ^1.0
- symfony/console: ^4.0 || ^5.0
Requires (Dev)
- laminas/laminas-coding-standard: ~2.0.0@rc || ~2.0.0
- laminas/laminas-servicemanager: ^3.4.0
- phpunit/phpunit: ^8.5.2
This package is auto-updated.
Last update: 2024-09-11 00:31:20 UTC
README
一个用于“静态”页面的 Laminas MVC 模块。
概述
在大多数 Laminas MVC 应用程序中,您至少会有几个基本是静态的页面——控制器包含没有逻辑的给定端点,它只是渲染一个模板。
默认情况下,这需要以下步骤
- 创建路由
- 创建控制器(如果您还没有的话)
- 在该控制器中创建一个动作
- 创建一个模板
此模块通过消除中间两个步骤来简化工作流程。
安装
使用 Composer
$ composer require phly/phly-simple-page
启用模块
如果您使用 laminas-component-installer,您将提示将模块添加到您的 config/application.config.php
文件。
如果您不使用,或者选择不使用组件安装程序,您可以手动将其添加到您的 config/application.config.php
文件中,以启用它
<?php return [ 'modules' => [ 'PhlySimplePage', 'Application', ], ];
使用方法
在您的应用程序中创建配置,将路由映射到控制器 PhlySimplePage\PageController
,并在路由默认值中指定一个 template
键。
use PhlySimplePage\PageController; return [ 'router' => [ 'routes' => [ 'about' => [ 'type' => 'Literal', 'options' => [ 'route' => '/about', 'defaults' => [ 'controller' => PageController::class, 'template' => 'application/pages/about', // optionally set a specific layout for this page 'layout' => 'layout/some-layout', ], ], ], ], ], ];
然后,确保您为该页面创建一个模板。在上面的例子中,我可能会在 module/Application/view/application/pages/about.phtml
中创建该文件。
缓存
您可以为由 PageController
服务的所有页面启用写穿缓存。这是通过以下步骤完成的
- 创建缓存配置
- 启用页面缓存工厂
要创建缓存配置,在您的配置中创建一个 phly-simple-page
配置键,其中包含一个 cache
子键,以及适合 Laminas\Cache\StorageFactory::factory
的配置。以下示例设置文件系统缓存
return [ 'phly-simple-page' => [ 'cache' => [ 'adapter' => [ 'name' => 'filesystem', 'options' => [ 'namespace' => 'pages', 'cache_dir' => getcwd() . '/data/cache', 'dir_permission' => '0777', 'file_permission' => '0666', ], ], ], ], ];
要启用页面缓存工厂,请执行以下操作
return [ 'service_manager' => [ 'factories' => [ 'PhlySimplePage\PageCache' => \PhlySimplePage\PageCacheFactory::class, ], ], ];
有选择地禁用给定路由的缓存
如果您 不 希望缓存特定的页面/路由,您可以通过将默认键 do_not_cache
与布尔值 true
添加到路由中来禁用它。以下是一个示例
'about' => [ 'type' => 'Literal', 'options' => [ 'route' => '/about', 'defaults' => [ 'controller' => \PhlySimplePage\PageController::class, 'template' => 'application/pages/about', 'do_not_cache' => true, ], ], ],
清除缓存
要清除任何给定页面的缓存或所有页面的缓存,您的缓存适配器(a)必须支持从命令行删除缓存(APC、ZendServer 和其他几个适配器不支持),并且(b)必须支持刷新,如果您希望一次性清除所有页面缓存。
该模块提供了一个供应商二进制文件,phly-simple-page
,用于完成此操作
-
./vendor/bin/phly-simple-page clear:cache
将一次性清除所有缓存的页面。 -
./vendor/bin/phly-simple-page clear:cache --page=
清除单个缓存的页面;使用您在路由配置中使用的模板名称作为页面值。
待办事项
- 清除页面集的能力