eye4web /zf2-site-config

Zend Framework 2 的站点配置模块

0.1.0 2018-03-11 10:49 UTC

This package is not auto-updated.

Last update: 2024-09-12 15:35:01 UTC


README

Build Status Code Climate Test Coverage Latest Stable Version License Total Downloads

简介

此模块允许您轻松地在所有文件中获取站点配置。该模块默认情况下可以读取以下配置值:

  • DoctrineORM
  • 文件(由 \Zend\Config\Reader 支持)
    • ini
    • json
    • xml
    • yaml
    • javaproperties
    • php 数组

注意:此模块不会帮助您编写配置,您需要自己处理。

安装

  1. 运行以下 composer 命令

    $ composer require eye4web/zf2-site-config:dev-master
  2. 在您的 application.config.php 文件中启用它。

    <?php
    return array(
        'modules' => array(
            // ...
            'Eye4web\SiteConfig'
        ),
        // ...
    );
  3. config/eye4web.siteconfig.global.php.dist 复制到 config/autoload/eye4web.siteconfig.global.php

  4. 编辑配置以满足您的需求

用法

获取配置值非常简单,可以在文件的任何位置进行。

视图

要在视图文件(或布局)中获取配置值: $this->siteConfig($configKey, $default),其中 $default 为可选值

控制器

要在控制器中获取配置值: $this->siteConfig($configKey, $default),其中 $default 为可选值

来自服务管理器的任何文件

此模块附带一个初始化器,因此要将 SiteConfigService 添加到文件中,您只需执行以下操作:

  • 使您的文件实现 Eye4web\SiteConfig\Service\SiteConfigAwareInterface
  • 使用特质 Eye4web\SiteConfig\Service\SiteConfigAwareTrait
namespace YourModule\Service;

use Eye4web\SiteConfig\Service\SiteConfigAwareTrait;
use Eye4web\SiteConfig\Service\SiteConfigAwareInterface;

class YourAwesomeService implements SiteConfigAwareInterface
{
    use SiteConfigAwareTrait;
}
  • 现在您可以执行 $this->getSiteConfigService()->get($configKey, $default),其中 $default 为可选值

配置

有关可配置值,请参阅 config/eye4web.siteconfig.global.php.dist

读取器

该模块支持许多不同的读取器,默认情况下使用 DoctrineORMReader

DoctrineORM

此读取器从您的数据库中读取配置值。此模块默认设置为使用 DoctrineORM,因此您只需执行以下操作:

  1. 创建模式
    • 使用 doctrine 脚本: php ./vendor/bin/doctrine-module orm:schema-tool:update --force
    • 自己创建表,请参阅 data/sql 文件夹以获取模式
  2. 将配置值添加到数据库中。您只需填写 keyvalue,其余字段只是便利字段

文件

此模块使用 Zend\Config 从文件中读取配置。它可以读取以下文件类型:

  • ini
  • json
  • xml
  • yaml
  • javaproperties
  • php 数组

要从文件中读取配置,您只需执行以下操作:

  1. 创建您的文件并添加配置值
  2. 编辑 eye4web.siteconfig.global.php 并设置配置文件的路径

您可以从单个文件中读取配置,也可以从多个文件中读取,只需使用文件名数组而不是单个字符串即可

创建您自己的

创建自己的读取器非常简单,只需遵循以下步骤:

  1. 创建您的读取器。它必须实现 Eye4web\SiteConfig\Reader\ReaderInterface
  2. 将您的读取器添加到服务管理器
  3. 编辑 eye4web.siteconfig.global.php 并设置读取器的名称
  4. 创建一个 pull-request,以便其他人可以从您的读取器中受益 ;)