Ankündigung

Einklappen
Keine Ankündigung bisher.

Zend Framework

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Zend Framework

    EDIT: Wenn jemand ne Beispielanwendung kennt wo das ZF verwendet wir und wo kein include-path in der php.ini geändert werden darf, dann lad ich mir das gerne runter und schau es mir an.

    Hallo,
    ich versuch mich grad mit dem Zend Framwork, nur will das nicht so richtig klappen...
    Mit dem Tutorial auf der offiziellen HP komm ich nicht weit, da die davon ausgehen dass ich in der php.ini den include Path ändern kann, was ich aber nicht kann.

    Meine Ordnerstruktur:

    Zend
    application
    ----controllers
    --------IndexController.php
    ----views
    --------scripts
    ------------index
    ----------------index.phtml
    -------helper
    ----configs
    --------application.ini
    ----layouts
    --------main.phtml
    ----models
    files
    ----css
    ----images
    ----js
    index.php
    .htaccess

    So weit so gut. Im Zend-Ordner ist das Zendframework mit allen Dateien

    IndexController.php:
    PHP-Code:
    <?php
    class IndexController extends Zend_Controller_Action
    {

        public function 
    init()
        {
            
    //init Zeugs
        
    }

        public function 
    indexAction()
        {
            
    $view $this->initView();
            
    $view->ausgabe 'Test';
        }
    }
    application.ini:
    Code:
    [production]
    phpSettings.display_startup_errors = 0
    phpSettings.display_errors = 0
    includePaths.library = APPLICATION_PATH "/../library"
    bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
    bootstrap.class = "Bootstrap"
    resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
    
    ; Pfad zum Layout Script und dessen Name
    resources.layout.layoutPath = APPLICATION_PATH "/layouts"
    resources.layout.layout = "main"
    index.phtml
    PHP-Code:
    <?php
    echo $this->ausgabe;
    ?>
    main.phtml
    PHP-Code:
    <?php echo $this->layout()->content?>
    index.php
    PHP-Code:
    <?php
    require_once 'Zend/Loader.php';

    require_once 
    'Zend/Loader/Autoloader.php';
    $loader Zend_Loader_Autoloader::getInstance();


    $fc Zend_Controller_Front::getInstance();

    $fc->setControllerDirectory('application/controllers');
    $fc->setParam('noViewRenderer'false);

    $fc->dispatch();
    .htaccess
    Code:
    RewriteEngine on
    RewriteRule !\.(js|ico|jpg|png|css)$ index.php
    Wenn ich nun die URL aufrufe dann Zeigt er mir auch brav meinen Text aus dem Controller an, aber wie genau funktioniert das mit dem Template ?
    ich brauch ja sozusagen eine head.phtml und eine fooder.phtml wo das Zeug hinkommt ?

    Kurz und knapp ich schnalls noch net so richtig und wär nice wenn ihr mir ein weniger "Starthilfe" geben könnte.

    Bitte nicht auf das offizielle Tut. verweisen weil ich mir das angeguckt habt uns nicht geschnallt habt.

    Grüße

    EDIT: Wenn jemand ne Beispielanwendung kennt wo das ZF verwendet wir und wo kein include-path in der php.ini geändert werden darf, dann lad ich mir das gerne runter und schau es mir an.
    Signatur:
    PHP-Code:
    $s '0048656c6c6f20576f726c64';
    while(
    $i=substr($s=substr($s,2),0,2))echo"&#x00$i;"


  • #2
    Du kannst den include_path auch im PHP Skript verändern dann brauchst du keinen direkten Zugriff zur php.ini. Allerdings muss das Ändern durch das PHP Skript auch erlaubt sein. Ohne den include_path zu ändern wirds mit dem Zend Framework wohl etwas schwierig, denn viele Dinge basieren auf dem autoloading was aber einen entsprechenden include_path voraussetzt.

    Template nennt sich beim Zend Framework der View. Und da gibt es keine head und footer Dateien sondern eine komplette Layoutdatei in der eben das komplette Design steht. Dann kannst du an einer Stelle sagen "hier soll der Inhalt der einzelnen Actions kommen". Hierfür solltest du dich mal nach Zend_Layout umschauen.

    Kommentar


    • #3
      Dieses Tutorial hat mir damals sehr geholfen: Tutorial: Getting Started with Zend Framework 1.10 – Rob Allen&#039;s DevNotes

      (Den Datenbank-Part würde ich allerdings nicht als normativ ansehen. Das geht auch ganz anders.)

      Views/Zend_Layout wird vor allem ab Seite 9 besprochen.

      Kommentar


      • #4
        PHP-Code:
        set_include_path(get_include_path() . PATH_SEPARATOR $path); 
        Wenn ich das auf den lokalen Webserver tu, in welches Verzeichnis am besten ?
        Da das ganze ja über den webroot kommt, kann ich dann da einfach einen eigenen Ordner 'include' machen dort dann nen Unterordner 'Zend' wo dann die ganzen Dateien reinkommen ?

        So weit so gut, wie siehts mit der application.ini/.htaccess... Da hab ich auch nun verschiedene Versionen im Inet gesehen welche is nun die richtige ?
        Code:
        RewriteEngine on
        RewriteBase /
        RewriteRule !\.(js|ico|txt|gif|jpg|png|css)$ index.php
        Das da ? Die entsprechenden Endungen werden dann einfach erweitert.

        Zu der Bootstrap.php + application.ini: Brauch ich die und was genau muss da drinnstehen ?
        Weil bei meinem ersten Versuch bin ich auch ohne die ausgekommen ?

        Grüße
        Signatur:
        PHP-Code:
        $s '0048656c6c6f20576f726c64';
        while(
        $i=substr($s=substr($s,2),0,2))echo"&#x00$i;"

        Kommentar


        • #5
          Lad dir das Beispiel aus dem Handbuch runter. Also das aus der Einleitung. Da siehst du alle Dateien, wie sie von der Ordnerstruktur zueinander gehören und was in welcher Datei stehen muss!

          Ansonsten, die Rewrite Rule nimmst du am besten auch die die im Handbuch angegeben ist!

          Bei allem anderem auch immer erst das Handbuch lesen.

          Kommentar


          • #6
            Ein Terminal öffnen (in Windows, Start -> Run und anschließend cmd verwenden). Zum Verzeichnis in dem man das Projekt beginnen will navigieren. Anschließend den Pfad zum richtigen Skript verwenden und eines der folgenden ausführen:

            1.
            % zf create project quickstart
            Da scheitert das ganze schon
            Wenn ich in das Verzeichnis wechseln und den Befehl eingebe: Der Befehl % ist entweder falsch geschrieben oder nicht gefunden worden...

            Edit: Wenn ich das % weglasse und den absoluten Pfad zu zf Angebe (C:\bla\bla\bla\zf create project quickstart) dann kommt: Befehl php.exe nicht gefunden oder falsch geschrieben
            Signatur:
            PHP-Code:
            $s '0048656c6c6f20576f726c64';
            while(
            $i=substr($s=substr($s,2),0,2))echo"&#x00$i;"

            Kommentar


            • #7
              Dann lad dir das komplette Beispiel Skript runter. Du brauchst die Konsole nicht um die Dateien zu erstellen, es geht auch per Hand. Schau dir das Beispiel an da hast du alles wichtige aufgesetzt das kannst du nehmen und für dich anpassen.

              Kommentar


              • #8
                Das % ist auch nicht als zeichen zum eigenben gemeint sondern symbolisiert wie oftmals # oder ähnliches eine shell/cmd und dass man das dort eingeben soll.

                Um das zf-Scripte in der CMD zu nutzen brauchst du unter Windows erstmal ein in der shell funktionierendes php, also passende PATH-Erweiterung, etc, damit das script auch dein php-binary findet.
                robo47.net - Blog, Codeschnipsel und mehr
                | Caching-Klassen und Opcode Caches in php | Robo47 Components - PHP Library extending Zend Framework

                Kommentar


                • #9
                  Man kann auch einfach in der batch Datei selbst den Pfad zur php.exe angeben. Nicht sonderlich sauber, aber funktioniert einwandfrei.
                  MfG

                  Kommentar


                  • #10
                    Kann man machen. Aber wozu?

                    Code:
                    set PATH=C:\whatever\xamp\php;%PATH%
                    --

                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                    --

                    Kommentar


                    • #11
                      Vielleicht hilft dir ja der Post hier von meinem setup weiter. Nicht blind übernehmen!
                      I like cooking my family and my pets.
                      Use commas. Don't be a psycho.
                      Blog - CoverflowJS

                      Kommentar

                      Lädt...
                      X