2013-12-17 3 views
0

Как установить класс общедоступной переменной для использования в нескольких функциях? ниже код возвращает мне следующую ошибку:php тот же объект класса на две функции другого класса

Parse error: syntax error, unexpected T_NEW in ...

class A { 

    var $classB = new B(); 

    public function __Construct($param1){ 
    echo $this->classB->export($param1); 
    } 

    public function otherParam($param2){ 
    echo $this->classB->export($param2); 
    } 

} 
+0

Какая ошибка, когда –

+0

дубликат [Синтаксическая ошибка при определении массива как свойства класса] (http://stackoverflow.com/q/9225632/476) – deceze

ответ

1

Вы не можете использовать объекты экземпляра, такие как java. PHP не позволяет вам инициализировать переменные ничем, кроме строк или целых чисел (и некоторых действительно базовых материалов).

Вы должны будете использовать

private $classB; 

и

public function __construct($param1){ 
    $this->classB = new B(); 
    echo $this->classB->export($param1); 
} 

внутри конструктора.

0

$classB будет местный variabile в вашем коде, и это он не установлен.

Вы хотите использовать $this -> classB.

В любом случае вы хотели бы ввести экземпляр B внутри A, рассмотреть возможность чтения об инъекции зависимостей.

+0

попробовал это. такая же ошибка ... – volk

Смежные вопросы