Zend_Tool - замечательный инструмент в составе Zend Framework. В интернетах пишут, что он еще не такой совершенный, как подобные утилиты у конкурирующих фреймворков, но я думаю, что лучше что-то, чем ничего. Утилита представляет собой файл zf.sh в Linux или zf.bat в Windows. Для ее работы надо, чтобы путь к интерпретатору PHP был указан в системной переменной PATH. Для удобства я там же указываю и путь к самой утилите: тогда ее можно вызывать из любого места.
Интерфейс командной строки вещь хорошая - как говорится, feel power at the fingertips. Но не менее удобно иметь такой же функционал в любимой IDE'шке. Кстати говоря, он реализован в Zend Studio - прожорливой и не очень бесплатной, хотя и мощной среде разработки. А для любителей NetBeans разработчики предлагают возможность интегрировать утилиту командной строки в IDE. Когда я ее попробовал активировать, все оказалось неочевидно, хотя и довольно просто, надо было какое-то время погуглить и поэкспериментировать.
Итак, что нужно, чтобы все работало (под Windows 7 в моем случае):
Показаны сообщения с ярлыком zf. Показать все сообщения
Показаны сообщения с ярлыком zf. Показать все сообщения
вторник, 4 октября 2011 г.
среда, 19 января 2011 г.
Наблюдения по Doctrine 1.2
Несколько наблюдений, сделанных при интеграции Doctrine 1.2 и Zend Framework 1.11.
1. В документации не встречается информации о зарезервированных словах. На практике столкнулись с тем, что такие слова есть. Пока выяснили, что это: attribute, date, table. Глюки начинаются, даже если эти слова являются частью составного слова. На всякий случай переименовали таблицы, модели и поля, со словом attribute.
2. Тестовый вывод формируемого SQL-запроса нужно делать до выполнения запроса, иначе сыпется куча нотисов.
1. В документации не встречается информации о зарезервированных словах. На практике столкнулись с тем, что такие слова есть. Пока выяснили, что это: attribute, date, table. Глюки начинаются, даже если эти слова являются частью составного слова. На всякий случай переименовали таблицы, модели и поля, со словом attribute.
2. Тестовый вывод формируемого SQL-запроса нужно делать до выполнения запроса, иначе сыпется куча нотисов.
Core_Log::info($q->getSqlQuery());
$all =$q->execute()->toArray();
понедельник, 17 января 2011 г.
ZF: Вызов хелпера за пределами контроллера
<?php
$helperSL = Zend_Controller_Action_HelperBroker
::getStaticHelper('GetServiceLayer');
$serviceUtil = $helperSL->getServiceLayer('util/magento');
?>
четверг, 30 декабря 2010 г.
Проектирование Service Layer
Пара советов для всех интересующихся решающих в принципе любые вопросы что здесь возникали, по крайне мере с точки зрения "кошерности" и "правильности".
1. Все заложено в ООП. Разучите наизусть S.O.L.I.D и повторяйте про себя когда думаете где что должно быть.
2. Будь то ДДД или что-то другое, возьмите отдельный кажущийся самостоятельным объект системы или бизнес логики. Отбросьте все остальное: mvc фреймворки, сервисные слои, хтмл формы паттерны. Это просто объект "Пользователь", например. Напишите класс и засуньте туда ВСЁ что на ваш взгляд относится к этому объекту. Все аспекты состояния и поведения. Напишите unit test для этого объекта который бы все эти аспекты тестировал. Это к вопросу о том где должна быть валидация.
1. Все заложено в ООП. Разучите наизусть S.O.L.I.D и повторяйте про себя когда думаете где что должно быть.
2. Будь то ДДД или что-то другое, возьмите отдельный кажущийся самостоятельным объект системы или бизнес логики. Отбросьте все остальное: mvc фреймворки, сервисные слои, хтмл формы паттерны. Это просто объект "Пользователь", например. Напишите класс и засуньте туда ВСЁ что на ваш взгляд относится к этому объекту. Все аспекты состояния и поведения. Напишите unit test для этого объекта который бы все эти аспекты тестировал. Это к вопросу о том где должна быть валидация.
Подписаться на:
Сообщения (Atom)