2016-04-30 7 views
0

Ich bin sehr neu in zend framework 2 und habe die Dokumente gelesen und absorbiert, so gut ich kann.Zend Skeleton Tutorial

Ich arbeite durch die zend skeleton tutorial und alles funktioniert, aber es ist ein kleiner Punkt, den ich nicht verstehe.

Im Album-Controller werden Sie angewiesen, den Table Gateway aufzurufen, um alle Datensätze auszuwählen - speziell $ this-> getAlbumTable() -> fetchAll(). Aber die Methode, die aufgerufen wird, ist nicht eine, die ich erstellt habe, also kann jemand erklären, wie getAlbumTable löst, was es tut. Ich hätte erwartet, den serviceManager auf dieselbe Art und Weise aufgerufen zu haben, wie Sie eine aufrufbare oder Fabrik anrufen - d. H. $ Sm-> get ('AlbumTableGateway')

Schätzen Sie alle Ratschläge, die Sie einem ZF2-Neuling geben können.

class AlbumController extends AbstractActionController 
{ 

    protected $albumTable; 


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

und wo ist Ihr „getAlbumTable()“ ?? IMHO ZF ist überentwickelt. Ich benutze cakephp zugunsten von zf jetzt – Antoniossss

Antwort

0

Haben Sie einen Schritt übersprungen? $this->getAlbumTable() (fehlt in der Steuerung in Ihrem Code) sollte eine Instanz von AlbumTable zurückgeben. Diese Klasse (die Sie bereits erstellt haben sollten) hat eine fetchAll() Methode.

Werfen Sie einen Blick auf die „Modelldateien“ Abschnitt des Tutorials Sie in Ihrer Frage verknüpft: http://framework.zend.com/manual/current/en/user-guide/database-and-models.html#the-model-files

+0

Sorry, vielleicht erkläre ich meine Frage nicht sehr gut - die Anwendung funktioniert alles gut. Worüber ich verwirrt bin, ist, wie kann man einen Anruf wie $ this-> getAlbumTable() tätigen? Warum nennt man das nicht wie $ sm-> get ('AlbumTable')? – Drongo

+0

Ich war ein Idiot. Ich habe es versäumt zu sehen, dass ich eine andere Methode in meinen Controller kopiert und eingefügt habe, was mir erlaubt hat, albumTable zu bekommen. Entschuldigung! – Drongo