Objekt, aus einem Namensbereich, innerhalb einer Klasse erstellen.

xtramen01

Erfahrenes Mitglied
Hallo Leute,

ich probiere derzeit mit Namespaces rum.
Nun möchte ich in einer Klasse, ein neues Objekt, aus einem anderen Namensbereich, erstellen. Ledier klappt das nicht so wie ich mir das vorstelle. Wäre nett wenn da mal jemand drüberschauen könnte.

PHP:
  Namespace Core\Controllers;

  use Core\Models\Test as Test;

    class Controller{

        public $name = 'foo';
        public $test = new Test;

        public function __construct(){

        }

        public function register($module){
            $this->name = $module . $test->name;
        }

    }

Und die Klasse auf die ich zugreifen möchte lautet:

PHP:
  Namespace Core\Models;

    class Test{

        public $name = 'bar';

        public function __construct(){

        }

        public function register($module){
            $this->name = $module;
        }

    }

Die Fehlermeldung bezieht sich auf die Klasse Controller.
Code:
Parse error: syntax error, unexpected T_NEW.....

Kann man prinzipiell keine neuen Objekte aus einem anderen Namespace, innerhalb einer Klasse, erzeugen? Oder amche ich einfach nur was falsch.

Gruß und Danke.
 
Du kannst keine Member-Variablen als Objekt initialisieren. Das geht nur über Methoden-Aufruf (z.B. im Konstruktor). Versuch es mal so:

PHP:
  Namespace Core\Controllers;

  use Core\Models\Test as Test;

    class Controller{

        public $name = 'foo';
        public $test;

        public function __construct(){
            $this->test = new Test;
        }

        public function register($module){
            $this->name = $module . $test->name;
        }

    }
 
Zurück