Я разрабатываю Apigility управляемое веб-приложение на основе Zend Framework 2. Для слоя модели я использую ZfcBase
DbMapper
.
В настоящее время столбцы в моих таблицах БД названы точно так же, как соответствующие свойства модели. Для обоих я использую обозначение на верблюжьей (это было первое временное решение). Теперь я хотел бы исправить наименования столбцов и сделать их неопределяемыми.
Как это сделать без использования ORM (например, учение)? Я думаю, мне понадобятся фильтры (Zend\Filter\Word\CamelCaseToUnderscore
, Zend\Filter\Word\UnderscoreToCamelCase
, Zend\Filter\StringToLower
или просто strtolower(...)
). Ну а где и как их здесь использовать?
Вы должны обновить все имена столбцов базы данных новыми under_score
Соглашение об именовании, адаптер базы данных автоматически запросит базу данных для этой информации.
Затем, чтобы «отобразить» новый column_name
возражать собственности propertyName
картограф требует объект гидратор.
картограф по умолчанию ClassMethods
, который «из коробки» поддерживает преобразование в разделенные ключами подчеркивания, используя упомянутые классы фильтров.
Поэтому наименование должно просто работать, вам нужно будет только пройти в true
конструктору гидратора (underscoreSeparatedKeys
), что может быть сделано очень легко при создании вашего картографа.
Других решений пока нет …