0

私はこのような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"
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 フレームワークは[production]セクションをロードします。他のセクションを自動的にロードするにはどうすればよいですか?

さらに

stagingtestingdevelopmentおよび onの間で環境を変更するにはどうすればよいですか?

4

2 に答える 2

1

プロダクション、開発などの間でアプリケーションの環境を切り替えるには、.htaccessファイルで変数を適切な値に設定するだけです。

SetEnv APPLICATION_ENV development

独自のリソース プラグインをブートストラップから自動ロードする場合は、resources配列に追加するだけで実行できます。

resources.myplugin.param1 = "myvalue"

プラグインの名前空間とディレクトリ パスも値に追加することを忘れないでください。そうしないとpluginsPath、ZF はどこを見ればよいかわかりません。

pluginPaths.My_Resource_Namespace = "My/Namespace/Folder"

最後に、resourcesプラグインを使用せずに構成ファイルの値にアクセスする場合は、Zend_Config_Iniクラスを使用してファイルをロードできます。

$config = new Zend_Config_Ini('/path/to/config.ini', 'staging');
于 2010-09-01T19:39:45.810 に答える
1

index.php で環境が「production」に設定されているため、Zend Framework は「production」セクションをロードします。

defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));

したがって、環境を本番環境以外に変更するには、APPLICATION_ENV変数の値を変更するだけです (たとえば、.htaccess でこれを行うことができます)。

さらに、データベースとレイアウト用に別々のセクションを作成する必要はなく、'production' セクションに含めるだけです。それらに別々のセクションを使用する場合、この行からわかるように、現在の環境セクションのみが解析されるため、それらは解析されません

$application = new Zend_Application(
  APPLICATION_ENV,
  APPLICATION_PATH . '/configs/application.ini'
);
于 2010-09-01T19:43:50.607 に答える