Php 亚马尔能继承遗产吗?
这个问题涉及到很多symfony,但对于只知道YAML而不知道symfony的人来说,应该很容易理解 我的symfony模型来自一个三步过程:首先,我在MySQL中创建表。其次,我运行symfony命令(symfony原则:构建模式)将表结构转换为YAML文件。第三,我运行另一个symfony命令(symfony原则:构建模型)将YAML文件转换为PHP代码 问题是:数据库中有一些表我不想在symfony代码中结束。例如,假设我有两个表:一个叫做Php 亚马尔能继承遗产吗?,php,symfony1,yaml,Php,Symfony1,Yaml,这个问题涉及到很多symfony,但对于只知道YAML而不知道symfony的人来说,应该很容易理解 我的symfony模型来自一个三步过程:首先,我在MySQL中创建表。其次,我运行symfony命令(symfony原则:构建模式)将表结构转换为YAML文件。第三,我运行另一个symfony命令(symfony原则:构建模型)将YAML文件转换为PHP代码 问题是:数据库中有一些表我不想在symfony代码中结束。例如,假设我有两个表:一个叫做my_table,另一个叫做wordpress。我
my_table
,另一个叫做wordpress
。我最终得到的YAML文件可能如下所示:
MyTable:
connection: doctrine
tableName: my_table
Wordpress:
connection: doctrine
tableName: wordpress
$config = array(
'MyTable' => array(
'connection' => 'doctrine',
'tableName' => 'my_table',
),
'Wordpress' => array(
'connection' => 'doctrine',
'tableName' => 'wordpress',
),
);
这很好,除了wordpress
表与我的symfony型号无关。结果是,每次我对数据库进行更改并生成此YAML文件时,我都必须手动删除wordpress
。真烦人
我希望能够创建一个名为baseConfig.php的文件或类似以下内容的文件:
MyTable:
connection: doctrine
tableName: my_table
Wordpress:
connection: doctrine
tableName: wordpress
$config = array(
'MyTable' => array(
'connection' => 'doctrine',
'tableName' => 'my_table',
),
'Wordpress' => array(
'connection' => 'doctrine',
'tableName' => 'wordpress',
),
);
然后我可以有一个名为config.php的单独文件,或者我可以在其中修改基本配置:
unset($config['Wordpress']);
所以我的问题是:有没有办法将YAML转换成可执行的PHP代码(而不是像sfYaml::load()那样将YAML加载到PHP代码中)来实现这类功能?或者有没有其他方法可以实现YAML继承?
谢谢
Jason另一种方法:
我不确定Symphony是否会让你这么做,但是。您需要手动保持同步,但这可能是可管理的,具体取决于您对表的更改程度。另一种方法: 我不确定Symphony是否会让你这么做,但是。您需要手动保持同步,但根据您对表的更改程度,这可能是可以管理的。正确答案(据我所知):否 顺便说一下,这是我最后写的插件: 正确答案(据我所知):不 顺便说一下,这是我最后写的插件:
你可能想考虑一下你是如何问这个问题的。你已经想到了一个解决方案,并据此提出了要求。通过询问根本问题可以更好地为您服务:如何使教理的架构生成器忽略某些表。您可能想考虑您是如何问这个问题的。你已经想到了一个解决方案,并据此提出了要求。询问根本问题可能会更好:如何使Doctrine的模式生成器忽略某些表。