如何從應用程序的任何位置獲取配置值(自定義)?全局訪問symfony2的配置值
我想在一個實體的方法prePersist中的控制器之外執行它。依賴注入聽起來也不合邏輯。
是不是有一些獲取配置類或內核的靜態方法..?
如何從應用程序的任何位置獲取配置值(自定義)?全局訪問symfony2的配置值
我想在一個實體的方法prePersist中的控制器之外執行它。依賴注入聽起來也不合邏輯。
是不是有一些獲取配置類或內核的靜態方法..?
依賴注入是Symfony 2使用配置的方式:爲您的邏輯創建服務,在服務中注入配置並使用OO邏輯在其他服務中注入服務。至於你的具體問題(使用實體的prePersist中的配置),答案是如果你需要訪問配置,prePersist回調不是執行你的邏輯的正確位置,因爲實體不應該知道屬於更高軟件層的任何東西(即服務/配置層)。
你可以在這裏找到一些更多的解釋:How to use the translator service inside an Entity?
什麼關於我自己的使用由ConfigClass一個自定義的方法嗎?然後,您應該將其添加到所需的位置並使用它。
namespace Your\Namespace\YourConfig;
class YourConfig {
private $energy_config;
public function __construct() {
$this->energy_config = array(
'update_frequency' => 10,
'energy_added' => 10,
'energy_maximum' => 200,
);
}
}
以後如果你需要的energy_config值,只添加所需的類使用聲明:
use Your\Namespace\YourConfig;
...
public function foo() {
$config = new YourConfig();
// use your config values
}
這只是我的想法,希望它可以幫助別人拿給一個真正偉大的解決方案:)