Php 如何加载应用程序环境之外的更多资源?
我有一个像这样的application.iniPhp 如何加载应用程序环境之外的更多资源?,php,zend-framework,initialization,zend-config,Php,Zend Framework,Initialization,Zend Config,我有一个像这样的application.ini [production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 includePaths.library = APPLICATION_PATH "/../library" bootstrap.path = APPLICATION_PATH "/Bootstrap.php" bootstrap.class = "Bootstrap" resource
[production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.modules[] = ""
[staging : production]
[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
[database]
resources.db.adapter = PDO_MYSQL
resources.db.params.dbname = "ccgss"
resources.db.params.username = "root"
resources.db.params.password = ""
resources.db.params.hostname = "localhost"
resources.db.isDefaultTableAdapter = true
[layout]
layoutPath = APPLICATION_PATH "/layouts"
layout = default
contentKey = "content"
默认情况下,zend framework加载[production]
部分。如何自动加载其他部分
另外
如何在
暂存
、测试
、开发
等环境之间更改环境?在生产、开发等环境之间切换应用程序的环境。只需在文件中将变量设置为适当的值即可
SetEnv APPLICATION_ENV development
如果您想从引导程序自动加载自己的,只需将其固定到参考资料
数组中即可:
resources.myplugin.param1 = "myvalue"
不要忘记将插件的名称空间和目录路径添加到pluginsPath
值中,否则ZF将不知道在哪里查找:
pluginPaths.My_Resource_Namespace = "My/Namespace/Folder"
最后,如果您想在不使用resources
插件的情况下访问配置文件中的值,可以使用以下类加载该文件:
Zend Framework加载“production”部分,因为您的环境在index.php中设置为“production”
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
因此,要将环境更改为生产环境以外的环境,只需更改APPLICATION\u ENV
变量的值(例如,您可以在.htaccess中执行此操作)
此外,数据库和布局可能不需要单独的部分,只需将它们包含在“生产”部分中即可。如果对它们使用单独的部分,则不会解析它们,因为只有当前环境部分会被解析,正如您在这一行中看到的那样
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);