Этот вопрос включает в себя много 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
таблицы не имеет ничего общего с моими моделями фреймворки. В результате каждый раз, когда я делаю изменения в своей базе данных и генерирую этот файл 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 в РНР код, как то, что делает sfYaml :: нагрузки()) в добиться такого рода вещей? Или может быть какой-то другой способ добиться наследования YAML? Спасибо, Джейсон
Вы могли бы хотеть рассмотреть, как вы задали этот вопрос. Вы пришли с уже имевшимся в виду решением и спросили соответственно. Вам может быть лучше, если спросить о проблеме с корнем: как заставить конструктор схем Doctrine игнорировать определенные таблицы. – Charles