2016-04-30 5 views
0

Я очень новичок в zend framework 2, и я читал документы и поглощал их как можно лучше.Учебник по скелету Zend

Я работаю через zend skeleton tutorial и все это работает, но есть небольшая проблема, которую я не понимаю.

В контроллере альбома вам предлагается сделать вызов для шлюза таблицы, чтобы выбрать все записи - в частности $ this-> getAlbumTable() -> fetchAll(). Но метод, который вызывается, не тот, который я создал, может кто-то объяснить, как getAlbumTable решает, что он делает. Я бы предположил, что вызвал serviceManager так же, как вы вызываете invokable или factory - i.e. $ sm-> get ('AlbumTableGateway')

Оцените любые советы, которые вы можете дать новичку ZF2.

class AlbumController extends AbstractActionController 
{ 

    protected $albumTable; 


    public function indexAction() 
    { 
     return new ViewModel(array(
      'albums' => $this->getAlbumTable()->fetchAll(), 
     )); 
    } 
+0

и где находится ваш «getAlbumTable()» ?? IMHO ZF перегружен. Я использую cakephp в пользу zf сейчас – Antoniossss

ответ

0

Вы не прошли шаг? $this->getAlbumTable() (отсутствует в контроллере вашего кода) должен вернуть экземпляр AlbumTable. Этот класс (который вы должны были уже создать) имеет метод fetchAll().

Посмотрите на раздел «Модель» файлы учебника вы связаны в вашем вопросе: http://framework.zend.com/manual/current/en/user-guide/database-and-models.html#the-model-files

+0

Простите, может быть, я не очень хорошо объясняю свой вопрос - приложение работает отлично. Я смущен, как вы можете позвонить, как $ this-> getAlbumTable()? Почему он не называет его как $ sm-> get ('AlbumTable')? – Drongo

+0

Я был идиотом. Я пренебрег тем, что заметил, что у меня есть копия и вставил другой метод в контроллер, который позволил мне получить альбомный альбом. Извиняюсь! – Drongo

Смежные вопросы