от того, что я знаю, есть только помощник действий & Просмотреть вспомогательный доступ в zend framework.Model Helper Zend
Есть ли какая-нибудь вспомогательная модель?
или как мы можем реализовать вспомогательную модель?
от того, что я знаю, есть только помощник действий & Просмотреть вспомогательный доступ в zend framework.Model Helper Zend
Есть ли какая-нибудь вспомогательная модель?
или как мы можем реализовать вспомогательную модель?
В ZF нет ничего, что действительно называется помощником модели, но если ваша модель обращается к таблице базы данных, вы можете создать ее как класс, который расширяет Zend_Db_Table_Abstract. См. Примеры в руководстве ZF: http://framework.zend.com/manual/en/zend.db.table.html
Сначала я добавляю эту строку в свой файл конфигурации, т.е. application.ini:
includePaths.library = APPLICATION_PATH "/../library"
Тогда я добавить класс
class App_Model_Helper {
public static function resultAggregation($results) {}
//.... all the helper you need
}
в файле, помещенного в ..library\App\Model\Helper.php
Это единственный способ я нашел фактор код, я использую в модели.
Вспомогательный метод может быть вызван из модели:
App_Model_Helper::resultAggregation($results);
Я знаю, это нарушает ООД, так что если кто имеет лучшее и чистое решение я бы очень признателен.
В Zend Framework нет ничего определенного для помощников моделей, например, для помощников представлений, однако вы можете обойти его и по-прежнему сохранять дизайн приложения (не используйте библиотечную папку).
Как мне это сделать, добавляя папку с Helper внутри моделей один. Затем вы должны назвать свой класс следующим образом:
class Application_Model_Helper_DateHelper
{
...
}
Тогда автозагрузчик позаботится о том, чтобы найти его и загрузить.
К сожалению, это именование немного отличается от того, как вы делаете это в папке видов. В просмотрах папки можно создать папку с именем хелпер и использовать именование как:
class Zend_View_Helper_DarkBlueMenu extends Zend_View_Helper_Abstract
{
...
}
Однако, если имя папки внутри моделей как хелпер то классов внутри него есть называться следующим образом:
class Application_Model_helpers_DateHelper
{
...
}