Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] PHP OOP ZUgriff auf ein neu erstelltes Objekt der Elternklasse

Einklappen

Neue Werbung 2019

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

  • [Erledigt] PHP OOP ZUgriff auf ein neu erstelltes Objekt der Elternklasse

    Hi,

    ich versuche mich gerade in PHP OOP und stehe vor einem Problem.

    Ich erstell in Elternklassen Konstruktor ein neues Db Objekt und möchte nun gerne die Eigenschaften des Array Params ändern, welches Bestandteil
    des db Objektes ist.

    Leider bekomme ich den Fehler:

    Debug Error: Access to undeclared static property: Elternklasse::$dbObjekt


    Kann damit leider nicht viel anfangen, jemand eine Idee?

    PHP-Code:
    class Elternklasse extends Exception {

        function 
    __construct() {
            
    $this->dbObjekt = new db();

        }


    PHP-Code:
    class klasse extends Elternklasse {


    function 
    __construct() {

    parent::__construct();

        
    $this->dbObjekt->db->params = array(
        
    'host'           => 'localhost',
           
    'username'       => 'username',
            
    'password'       => 'pw',
            
    'dbname'         => 'dbname',
        
    'charset'        => 'utf8'
        
    );
     
       
    }




  • #2
    Ist das der komplette Code? Wie ist $dbObjekt in der Klasse definiert?

    Kommentar


    • #3
      siehe Florian.
      Was hat eigentlich die Exception mit der Elternklasse zu tun?
      "My software never has bugs, it just develops random features."
      "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

      Kommentar


      • #4
        Debug Error: Access to undeclared static property: Elternklasse::$dbObjekt
        Das ist jetzt aber nicht die Fehlermeldung, die der Code oben erzeugt.

        $this->dbObjekt->db->params
        Deine db-Klasse hat eine db-Eigenschaft? Falls nicht:
        Code:
        $this->dbObjekt->params
        Sofern die params-Eigenschaft in der db-Klasse existiert und public ist. Benutz stattdessen lieber setter-Methoden.


        Was gibt denn var_dump($this->dbObjekt) sonst aus?
        "[URL="http://www.youtube.com/watch?v=yMAa_t9k2VA&feature=youtu.be&t=25s"]Mein Name ist Lohse, ich kaufe hier ein.[/URL]"

        Kommentar


        • #5
          s.u

          Kommentar


          • #6
            Huhu, vieeelen Dank. Der Hinweis mit var_dump sowie darauf achten ob methode private ist wars

            Das ist die Ausgabe vor dem neu setzen und danach:

            davor
            PHP-Code:
            object(db)#4 (6) {
            ["startID"]=>
            int(1)
            [
            "EndID"]=>
            int(300)
            [
            "dbIndexrivate"]=>
            NULL
            ["params"]=>
            array(
            5) {
            [
            "host"]=>
            string(9"localhost"
            ["username"]=>
            string(13"dbtest"
            ["password"]=>
            string(16"pwtest"
            ["dbname"]=>
            string(12dbtestname
            ["charset"]=>
            string(4"utf8"
            }
            [
            "dbSetrivate"]=>
            NULL

            danach
            PHP-Code:
            object(db)#4 (6) {
            ["startID"]=>
            int(1)
            [
            "EndID"]=>
            int(300)
            [
            "dbIndexrivate"]=>
            NULL
            ["params"]=>
            array(
            5) {
            [
            "host"]=>
            string(9"localhost"
            ["username"]=>
            string(4"test"
            ["password"]=>
            string(5"test2"
            ["dbname"]=>
            string(5"test3"
            ["charset"]=>
            string(4"utf8"
            }
            [
            "dbSetrivate"]=>
            NULL

            Kommentar


            • #7
              Nochmal der Hinweis:
              Was hat eigentlich die Exception mit der Elternklasse zu tun?

              Da bedarf es eigentlich keiner Vererbung, da die Exception nicht weiterspezialisiert wird durch die Elternklasse...
              "My software never has bugs, it just develops random features."
              "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

              Kommentar


              • #8
                hi paul danke, dazu habe ich gerade eine neue frage gestellt, bin noch nicht wirklich gut und keine ahnung wo das genau hingehört, bin eher am versuchen. aber danke für den hinweis.

                Kommentar

                Lädt...
                X