[PHP] Zend Model wird nicht gefunden

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Hapablap, 10. Februar 2010 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 10. Februar 2010
    Zend Model wird nicht gefunden

    Hi Leute,

    ich hab mir das Zend Framework über den Batch Installer eingerichtet. Das heißt, meine Ordner Sturktur wurde von Zend direkt erstellt. Für den Anfang habe ich mir in der Dokumentation den Einstieg in Zend durchgelesen und dort wird Schritt für Schritt erklärt, wie man ein Gästebuch Model erstellt und mit diesem erstmal alle Einträge ausgibt.
    Ich habe das ganze nachprogrammiert mit einem Benutzer Model. Jetzt rufe ich meinen User Controller auf, in dem ganz normal mein Model instanziiert wird und ich bekomme folgende Fehlermeldung:
    Code:
    Fatal error: Class 'Application_Model_User' not found in \application\controllers\UserController.php on line 7
    Der User Controller:
    PHP:
    <? php

    class  UserController  extends  Zend_Controller_Action
    {
        public function 
    indexAction ()
        {
            
    $user  = new  Application_Model_User ();
            
    $this -> view -> entries  $user -> fetchAll ();
        }
    }
    Also alles ganz simpel. Die Zend eigenen Klassen scheint das Zend Framework zu finden. Mein Controller wird auch korrekt aufgerufen. Was offensichtlich nicht funktioniert ist mein eigenes Model.
    Ein wenig verwirrend finde ich auch, dass die Models unter application/models abliegen, ich aber Application_Model schreibe. Also das eine im Plural, das andere im Singular. Jedoch, wie gesagt, das Projekt hat mir Zend angelegt, von demher muss es so stimmen und ich bin auch nach der Doku vorgegnangen.

    Wie kann ich das Problem jetzt lösen? Leider steht in der Zend Doku alle paar Monate immer wieder was anderes und die Versionen unterscheiden sich leider scheinbar auch stark.

    Hoffe mir kann jemand weiterhelfen!
    Hapablap
     
  2. 10. Februar 2010
    AW: Zend Model wird nicht gefunden

    bind die klasse doch ein ^^

    require_once 'pfad/zu/application/models/User.php';
     
  3. 10. Februar 2010
    AW: Zend Model wird nicht gefunden

    Wozu hat denn Zend den Autoloader? ^^ Ich dachte, das muss man nicht mehr so machen?
    Ich kenne das auch so aus Magento, dort binde ich normalerweise nichts ein.
     
  4. 10. Februar 2010
    AW: Zend Model wird nicht gefunden

    Und du hast den Pfad zu den Models auch in dem autoloader mitgeteilt? (Also zum includepath quasi hinzugefügt)
     
  5. 10. Februar 2010
    AW: Zend Model wird nicht gefunden

    das kann irgendwie ned funktionieren, weil der autloader ja nach nem file namens "application/model/User.php" sucht, die klasse aber in "models" liegt.

    machs mit require, spar die das unnötige debuggen.
     
  6. 10. Februar 2010
    AW: Zend Model wird nicht gefunden

    Das ist scheinbar eine veraltete Methode. Ich habs mal versucht, aber es hat nicht geholfen. Mittlerweile macht man es über ein Config File, aber dort kann ich nur den Pfad zu den Controllern angeben.

    Außerdem ist der Autoloader denke ich eher für den eigenen Namespace in der Library gut, aber mein Problem ist ja, dass meine Models innerhalb der Applikation nicht gefunden werden :O

    @Murdoc:

    Schau in der Doku im Quickstart nach Create Your Project - Zend Framework Quick Start - Zend Framework
    Die machen das tatsächlich so! Ich bin Schritt für Schritt durch. Der Ordner "models" mit s wird von Zend selbst angelegt und später tatsächlich _Model_ eingegeben.


    - Edit:

    Also es hat sich erledigt. Ich hab Zend noch mal neu aufgesetzt und komischerweise funktioniert es. Alle Klassen werden korrekt geladen. Hab jetzt jedoch eine eigene Library gemacht und den Namespace hinzugefügt.

    - Closed -
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.