phly/phly-simple-page

此包的最新版本(2.0.1)没有可用的许可证信息。

ZF2 模块,用于轻松创建静态页面

2.0.1 2021-12-10 18:45 UTC

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= 清除单个缓存的页面;使用您在路由配置中使用的模板名称作为页面值。

待办事项

  • 清除页面集的能力