我需要在我的ZF2應用程序中選擇性地包含一些模塊。這些模塊完全獨立於任何加載的模塊。application.config.php中的可選ZF2模塊。有沒有更好的辦法?
在application.config.php
中,在配置數組中,我可以只包含主模塊,然後在最後根據一些條件添加可選模塊。像這樣:
$config = array(
'modules' => array(
'Application',
),
...
);
if (condition) {
$config['modules'][] = 'OptionalModule';
}
return $config;
雖然這可以解決問題,但我想知道是否有另一種方法來做到這一點。
這是一個很好的方法嗎?會有更好的方法來完成這個嗎?
謝謝!
有條件的加載模塊與本地應用程序配置
application.config.php:
<?php
use Zend\Stdlib\ArrayUtils;
$config = [
// You config
];
$local = __DIR__ . '/application.config.local.php';
if (is_readable($local)) {
$config = ArrayUtils::merge($config, require($local));
}
return $config;
application.config.local
任何理由不只是包括它不管?你是否依賴它的包含,或者在應用邏輯中重用這個'condition'來決定它是否被後面的使用? – ficuscr
有一個主要的應用程序(與預定義的模塊),並有一個附加應用程序。該條件實際上會檢查文件系統上是否有其他文件,如果是,它也包含該模塊。關鍵是整個設置應該可以在沒有插件的情況下工作 – Mihai
對於你來說沒有一個好的答案,但是如果我的理解正確,我會建議不要在每個請求上檢查磁盤來做出決定,這可以是昂貴。 – ficuscr