Anzeige:
Ergebnis 1 bis 1 von 1

Thema: include != import

  1. #1
    Registrierter Benutzer
    Registriert seit
    20.05.2006
    Ort
    Bremen
    Beiträge
    39

    include != import

    Hallo Ihr Lieben,
    ich habe echt (momentan) ein Verständnisproblem (ich glaube es liegt an den vielen Programmiersprachen die ich parallel lerne ;-) ).
    Für mich war ein INCLUDE und ein IMPORT immer das gleiche, aber schneibar ist dem nicht so.

    Ich bin gerade dabei das Zend-Framework mir näher beizubringen und ich habe mich immer gewundert. Wie kann eine phtml-Datei gleich mit $this auf das View-Objekt zugreifen, denn es ist ja einfach nur eine Datei.
    Um mir das selber verständlich zu machen, habe ich dann folgende kleine Dateien geschrieben.

    index.php
    Code:
    <?php
    include 'View.php';
    $view = new View();
    $view->message = 'Dies ist die View.';
    $view->run();
    View.php
    Code:
    <?php
    class View {
        private $view_items = array ();
        public function __get($key) {
            if (array_key_exists ( $key, $this->view_items)) {
                return $this->view_items[$key];
            }
        }
        public function __set($key, $value) {
            $this->view_items[$key] = $value;
        }
        public function run() {
            include 'view.phtml';
        }
    }
    view.phtml
    Code:
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>Insert title here</title>
        </head>
        <body>
           <?php print_r($this->message) ?>
        </body>
    </html>
    (print_r natürlich nur zum test)

    Aber was soll ich sagen, es funktioniert... und ich war fest der Überzeugung, dass es NICHT funktioniert. Normal sollte man denken "wenn es funktioniert, warum fragt er/sie denn nach" aber nun ja, ich will es halt genau wissen ;-)

    Wie ich oben schon geschrieben habe, dachte ich das ein INCLUDE und ein IMPORT immer das gleiche ist. Sprich die view.php Datei hätte nach meinen Verständnis dann so ausgesehen...

    Code:
    <?php
    class View {
        private $view_items = array ();
        public function __get($key) {
            if (array_key_exists ( $key, $this->view_items)) {
                return $this->view_items[$key];
            }
        }
        public function __set($key, $value) {
            $this->view_items[$key] = $value;
        }
        public function run() {
          <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>Insert title here</title>
        </head>
        <body>
           <?php print_r($this->message) ?>
        </body>
    </html>
        }
    }
    Aber mit diesen "Mist" kann ja keiner was anfangen
    Und bei einem Import hätte es so ausgesehen.
    Nun ja, ich habe mich dann mal in der PHP.net Welt schlau gemacht und folgendes gefunden
    "include bindet eine angegebene Datei ein und führt sie aus."

    BINGOOOOOOOO sie bindet sie ein und führt sie gleich aus... sprich wie ein Verweis auf eine Datei die per URL aufgerufen wird.

    ...das war's
    Geändert von djaliced (24-08-2013 um 12:36 Uhr)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •