Ankündigung

Einklappen
Keine Ankündigung bisher.

Constant expression contains invalid operations

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

  • #31
    D.h. ich brauche aber grundsätzlich erstmal kein include, use etc. sondern nur extends und dann $this->writeLogEvent(); habe ich das jetzt richtig verstanden?

    Kommentar


    • #32
      Zitat von Meister1900 Beitrag anzeigen
      Was heißt "geht nicht"? Wenn er die Methode nicht findet würde er sagen:
      Fatal error: Uncaught Error: Call to undefined method MySQL::writeLogEvent()

      Alles andere sind weitere Fehler, die du fixen musst.
      Das sagt er mehr oder weniger auch.

      Code:
      Fatal error: Class 'LogSystem' not found in C:\xampp\htdocs\dashboard\assets\templates\all\MySQL.inc.php on line 3
      Und so habe ich es in der Datei MySQL.inc.php eingebunden. :


      PHP-Code:
      <?php

          
      class MySQL extends LogSystem {

              const 
      FILEPATH "";

              private 
      $hostname null;
              private 
      $port null;
              private 
      $username null;
              private 
      $password null;
              private 
      $dbname null;

              function 
      __construct() {
                  
      $conData getConnectionData();
                  
      $this->hostname $conData->hostname;
                  
      $this->port $conData->port;
                  
      $this->username $conData->username;
                  
      $this->password $conData->password;
                  
      $this->dbname $conData->dbname;
              }

              function 
      createMySQLConnection() {
                  try {
                      
      $this->writeLogEvent("SUCCESS""MySQL Verbindung wurde erfolgreich aufgebaut!");
                      
      $pdo = new PDO('mysql:host='$this->hostname +';dbname='$this->dbname +''''$this->username +''''$this->password +'');
                      return 
      $pdo;
                  } catch(
      Exeption $e) {
                      
      $this->writeLogEvent("ERROR""MySQL Verbindung wurde NICHT aufgebaut!");
                      return 
      false;
                  }
              }

              public function 
      refreshConnectionData() {
                  
      $conData getConnectionData();
                  
      $this->hostname $conData->hostname;
                  
      $this->port $conData->port;
                  
      $this->username $conData->username;
                  
      $this->password $conData->password;
                  
      $this->dbname $conData->dbname;
              }

              private function 
      getConnectionData() {
                  
      $handle fopen (self::FILEPATH"r");
                  
      $rawData json_decode(fread ($handlefilesize ($dateinamen)));
                  
      fclose ($handle);

                  return 
      $rawData;
              }

          }

      ?>

      Kommentar


      • #33
        Nein, jetzt findet er die Klasse nicht, weil das include fehlt.

        Kommentar


        • #34
          Zitat von WebInsel Beitrag anzeigen
          D.h. ich brauche aber grundsätzlich erstmal kein include, use etc. sondern nur extends und dann $this->writeLogEvent(); habe ich das jetzt richtig verstanden?
          Von include und use hat keiner was gesagt.

          Kommentar


          • #35
            include braucht man überhaupt nicht. Verwende doch einfach einen Autoloader. Und dass "extends" in dem Fall falsch ist wurde doch auch schon gesagt. Warum beharrst du weiter darauf?

            Kommentar


            • #36
              Zitat von Meister1900 Beitrag anzeigen
              Nein, jetzt findet er die Klasse nicht, weil das include fehlt.
              Zitat von Meister1900 Beitrag anzeigen
              Von include [...] hat keiner was gesagt.
              Aha

              Kommentar


              • #37
                MrChangelog schon wieder .. Sag ist die langweilig? Du reisst Zusammenhänge auseinander und ziehst das gegen die Schreibenden ins Lächerliche. Lass das bitte. Wenn du oben nochmals nachliest, dann wird dir auffallen das da noch ein Zitat dazwischen war und sich die beiden Aussagen nicht aufeinander sondern auf das Zitat beziehen.

                Zitat von Meister1900 Beitrag anzeigen
                Nein, jetzt findet er die Klasse nicht, weil das include fehlt.
                Zitat von Webinsel
                D.h. ich brauche aber grundsätzlich erstmal kein include, use etc. sondern nur extends und dann $this->writeLogEvent(); habe ich das jetzt richtig verstanden?
                Zitat von Meister1900 Beitrag anzeigen
                Von include und use hat keiner was gesagt.
                Meister1900 meinte natürlich das keine Rede davon war das include zu entfernen. Das geht eigenlich sauber aus dem Gesamtkontext heraus.
                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


                • #38
                  hausl
                  Code:
                  ERROR 404: Humor not found!

                  Kommentar


                  • #39
                    Glaube mir, ich habe reichlich Humor, im Gegensatz zu deinen "Anmerkungen". Belassen wir es dabei, sonst wird der Thread noch mehr verwässert.

                    Sonst kannst du im OffTopic gerne einen Thread aufmachen und uns deinen Humor von hier und dort erklären.
                    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


                    • #40
                      WebInsel : Ich kann noch nicht klar erkennen was dein Ziel ist. Möchtest du eine Loggerklasse erstellen welche seine Einträge in eine Datenbank schreibt? Oder in eine Datei? Oder beides ermöglicht?
                      Für beides ist dein Ansatz mit extends schlecht geeignet und unflexibel. Darauf wurde schon mehrfach hingewiesen.
                      Mal so im Groben:
                      PHP-Code:
                      $handle = new MySqlDBHandler(/* Verbindungsparameter */);

                      $logger = new Logger($handle
                      Dann solltest du dir überlegen was deine Loggerklasse können soll. Da kann ich auch nichts erkennen.
                      PHP-Klassen auf github

                      Kommentar


                      • #41
                        Zitat von jspit Beitrag anzeigen
                        WebInsel : Ich kann noch nicht klar erkennen was dein Ziel ist. Möchtest du eine Loggerklasse erstellen welche seine Einträge in eine Datenbank schreibt? Oder in eine Datei? Oder beides ermöglicht?
                        Für beides ist dein Ansatz mit extends schlecht geeignet und unflexibel. Darauf wurde schon mehrfach hingewiesen.
                        Mal so im Groben:
                        PHP-Code:
                        $handle = new MySqlDBHandler(/* Verbindungsparameter */);

                        $logger = new Logger($handle
                        Dann solltest du dir überlegen was deine Loggerklasse können soll. Da kann ich auch nichts erkennen.
                        Also, im grunde möchte ich einfach in eine Datei schreiben, wenn Fehler aufträten wie Fehler bei der MySQL verbindung, Fehlende Datein etc.

                        Kommentar


                        • #42
                          Das macht PHP doch selbst schon. Schau mal error reporting und error logging nach in der Doku.
                          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