aptimyz / aptimyz-fork-enviroment-pluquin
修改 CakePHP 环境插件以添加另一个数据源。管理 CakePHP 应用程序中的多个环境,这些环境在数据库设置、配置设置(配置)和自定义功能标志方面有所不同。
dev-main
2022-06-13 20:10 UTC
Requires
- php: >=5.3.0
- composer/installers: *
This package is not auto-updated.
Last update: 2024-10-02 10:24:57 UTC
README
从 https://github.com/frankfoerster/cakephp-environment 分叉的存储库
CakePHP 2.x 环境插件
管理 CakePHP 应用程序中在以下方面不同的多个环境:
- 数据库设置
- 配置设置(配置)
- 自定义功能标志
要求
- PHP 5.3+
- CakePHP 2.3+
1. 它的功能
环境插件会钩入您的引导过程以初始化数据库配置、配置参数和不同环境下的附加自定义逻辑。
环境通过一组域名(例如 www.domain.com、domain.com、domain.net)定义并检测,并且可选地在服务器上的绝对应用程序路径。
2. 安装和使用插件
- 克隆项目或下载项目,然后将其初始化为
/app/Plugin/Environment
中的子模块。 - 将
example/app/Config/Environment
中的示例配置文件复制到app/Config/Environment
将以下行添加到您的
app/Config/bootstrap.php
CakePlugin::load('Environment', array('bootstrap' => false, 'routes' => false); App::uses('Environments', 'Environment.Lib'); Environments::init();
要启用特定环境的数据库配置,将示例目录中的
database.php
文件复制到app/Config/database.php
或确保您现有的 database.php 从 BaseDatabaseConfig 继承,例如App::uses('BaseDatabaseConfig', 'Environment.Lib'); class DATABASE_CONFIG extends BaseDatabaseConfig { ... }
配置
使用多个文件管理您的环境配置。
config.php
是应用于所有检测到的环境的全局配置文件。environment.{name}.php
是一个包含特定环境的$dbSettings
和$configure
参数的单个环境文件。
在环境配置文件中定义的设置会覆盖全局配置。
6. 定义外部数据源
- 在您的
environment.{name}.php
中定义一个条目
$externalDSConfig = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
);
- 然后在数据库配置类中添加此变量
class DATABASE_CONFIG extends BaseDatabaseConfig {
.
.
.
public $externalDataSource = array();
.
.
.
}
变量 $externalDataSource 将采取 $externalDSConfig 中定义的配置
通过这样做,您可以添加第二个数据源,该数据源可供应用程序使用