這個問題涉及到很多symfony,但是應該很容易讓某人跟隨誰只知道YAML而不是symfony。YAML可以繼承嗎?
我的symfony模型來自三個步驟:首先,我在MySQL中創建表。其次,我運行一個symfony命令(symfony doctrine:build-schema)將我的表結構轉換爲YAML文件。第三,我運行另一個symfony命令(symfony doctrine:build-model)將YAML文件轉換爲PHP代碼。
問題出在這裏:數據庫中有一些表,我不想最終在我的symfony代碼中。例如,假設我有兩個表格:一個叫做my_table
,另一個叫做wordpress
。在YAML文件我最終可能是這樣的:
MyTable:
connection: doctrine
tableName: my_table
Wordpress:
connection: doctrine
tableName: wordpress
這是偉大的,除了wordpress
表有沒有關係我symfony的模型。結果是每次我對數據庫進行更改並生成這個YAML文件時,我都必須手動刪除wordpress
。它很煩人!
我希望能夠創建一個名爲baseConfig.php什麼文件看起來像這樣:
$config = array(
'MyTable' => array(
'connection' => 'doctrine',
'tableName' => 'my_table',
),
'Wordpress' => array(
'connection' => 'doctrine',
'tableName' => 'wordpress',
),
);
然後,我可以有一個單獨的文件名爲config.php文件或東西在那裏我可以進行修改,基本配置:
unset($config['Wordpress']);
所以我的問題是:有沒有辦法YAML轉換成可執行的PHP代碼(相對於加載YAML到PHP代碼,像什麼sfYaml :: load()方法一樣)來實現這種事情?或者是否有其他方法可以實現YAML繼承? 謝謝, 傑森
你可能要考慮你怎麼問這個問題。你已經想到了一個解決方案,並據此提出。通過詢問根本問題,您可能會得到更好的服務:如何讓Doctrine的模式構建器忽略某些表。 – Charles 2010-06-17 01:45:04