labcoding/merge-module-config

ZF2 模块,用于模块中自动合并配置文件

2.0 2017-04-08 17:50 UTC

This package is not auto-updated.

Last update: 2024-09-28 19:52:55 UTC


README

本模块可以自动化合并模块中的配置文件。在 ModuleName/config/autoload 文件夹下的所有 *.php 文件将自动合并。

例如,如果你在一个模块中有多个 "....config.php" 文件,比如

    - route.config.php
    - service_manger.config.php
    - controller.config.php

Marge Module Config 会合并 config/autoload 文件夹下的所有文件,你不需要写像这样

<?php
    return array(
       'sebaks-view' => require_once 'sebaks-view.config.php',
       'router' => require_once 'router.config.php',
       'controllers' => require_once "controllers.config.php",
    );

问题

你有类似的文件结构

应用程序

  • 配置
    • module.config.php
    • route.config.php
    • service_manger.config.php
    • controller.config.php
  • ....

并在 module.config.php 文件中有一些类似的代码

<?php
    return array(
        'sebaks-view' => require_once 'sebaks-view.config.php',
        'router' => require_once 'router.config.php',
    
       'view_manager' => array(
            'template_path_stack' => array(
                __DIR__ . '/../view',
            ),
        ),
    );

解决方案

在 module.config.php 文件中包含 LabCoding\MergeModuleConfig 之后,你的代码将看起来像这样

<?php
    return array(
          'view_manager' => array(
            'template_path_stack' => array(
                __DIR__ . '/../view',
            ),
        ),
    );

并且配置文件夹的结构将变为

应用程序

  • 配置
    • autoload
      • route.config.php
      • service_manger.config.php
      • controllers.config.php
    • module.config.php
  • ....

安装

将此项目添加到你的 composer.json 中

"require": {
    "labcoding/merge-module-config": "~2.0.0"
}

现在通过运行以下命令告诉 composer 下载库

$ php composer.phar update

或者

在控制台中运行命令

$ php composer.phar require "labcoding/merge-module-config"

安装后

application.config.php 文件中启用它。

<?php
    return array(
        'modules' => array(
            // ...
            'LabCoding\MergeModuleConfig',
        ),
        // ...
    );

添加 config/autoload 文件夹并将其放在配置文件中。在 ModuleName/config/autoload 文件夹下的所有 *.php 文件将自动合并。