Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] OOP - Object erzeugen

Einklappen

Neue Werbung 2019

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

  • [Erledigt] OOP - Object erzeugen

    Hallo zusammen,

    ich versuche ein Objekt zu erzeugen das klappt aber irgendwie nicht so und ich verstehe nicht woran das liegt??

    Verzeichnissstruktur:
    class-> MyClass.php
    index.php (übergeordnet)

    index.php:
    PHP-Code:
    <?php

        
    echo "whatever index";
        include(class/
    MyClass.php);

        
    $log = new MyClass;
        echo 
    $log->$test;
        echo 
    $log->getProp();

    ?>
    MyClass.php:
    PHP-Code:
    <?php
        
    class MyClass {

        public 
    $test "test my Class";

        public function 
    getProp(){
            return 
    $this->test;
        }

        }
    ?>
    meine Frage:
    ohne die func include() in der index.php wird der echo befehl ausgegeben. mit dem func include() passiert gar nix mehr (ich schätze das liegt daran, dass das script abbricht?).

    leider bekomme ich auch keinen fehlerausgabe oder sonstiges - gibt es eine möglichkeit fehler immerzu auszugeben mit einer function - ich habe auch schon google befragt, leider habe ich auch hier keinen erfolg - mit der ausgabe

    danke für eure hilfe.
    ps. falls jemand von euch anschauliche und gut struktuierte Tutorials dazu hat
    dann gerne auch posten.


  • #2
    1. error_reporting aufdrehen! Ganz zu Beginn deines Scriptes ein

    PHP-Code:
    error_reporting(-1); 
    2. dann es heißt:

    PHP-Code:
    include "..."
    Mit " " oder ' ' und ohne Klammern. Steht übrigens auch so in der Doku. Und anonsten http://php-de.github.io/#debugging
    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      PHP-Code:
      error_reporting(-1); 
      das hatte ich auch schon probiert - nur ich bekomme keine ausgabe - und mit echo davor bekomme ich immer nur die zahl 32767. Falls ich das nicht falsch verstanden habe steht das einfach nur für den parameter E_ALL.

      Kommentar


      • #4
        mit echo davor
        Hä? Sorry, das ist schwachfug.

        Den Rest .. glaub ich dir nicht.

        PHP-Code:
        <?php
        error_reporting
        (-1);
        include 
        foo/bar.php;
        Gibt bei mir 3 Notices und 3 Warnings. Scheib das error_reporting(-1); (oder ALL ab 5.4 glaub ich is es das selbe) in beiden Dateien oben rein und include mal richtig, mit Hochkommas. Sonst versuch es fürn Angang mal ohne include etc.. also alles in einer Datei. Und:echo $log->$test; -> das ohne zweitem Dollarzeichen $log->test;


        PHP-Code:
        <?php
        error_reporting
        (-1);


        class 
        MyClass

            public 
        $test "test my Class"
            
            public function 
        getProp(){ 
                return 
        $this->test
            } 



        echo 
        "whatever index";

        $log = new MyClass
        echo 
        $log->test
        echo 
        $log->getProp();
        gibt aus:

        Code:
        whatever index
        test my Class
        test my Class
        Ansonsten gilt wie oben bereits erwähnt debuggen!
        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
        PHP.de Wissenssammlung | Kein Support per PN

        Kommentar


        • #5
          Zitat von hausl Beitrag anzeigen
          Den Rest .. glaub ich dir nicht.
          Er hat schon Recht, dadurch dass er "class" im Pfad hat wurde aus den Notices (Konstante -> String) auf einmal ein Parse-Error
          Zitat von nikosch
          Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

          Kommentar


          • #6
            Achso.. wenn/weil php.ini seitig das error_repoting deaktiviert wurde ... und dann das php
            error_reporting(-1); im Script wegen dem Parse Error erst gar nicht ausgeführt, und daher keine Fehler angezeigt wurden. Ok, ich nehms zurück
            Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
            PHP.de Wissenssammlung | Kein Support per PN

            Kommentar

            Lädt...
            X