![]() |
![]() |
ВходЗдравствуйте, Гость ( Вход | Регистрация )
|
![]() |
![]() ![]()
Сообщение
#1
|
|
Продвинутый юзверь ![]() Группа: Пользователи Сообщений: 68 Регистрация: 29.1.2008 Из: Кубинка-8 Пользователь №: 2,152 Спасибо сказали: 10 Вставить ник ![]() |
Допустим у меня есть первый класс:
КОД <?php class Primary { public $var='какая-то переменная'; public function __construct() { $db=array(тут данные для соединения с БД); $this->Secondary = new Secondary; $this->Secondary->Load($this->var); $this->Third = new Third; $this->Third->Method1($db); } } ?> Также есть второй класс: КОД <?php class Secondary { public function Load($var) { $dbname ='чему-то равно'; $var2 = $Primary->Third->Method2($dbname); } } ?> И Ещё есть третий класс: КОД <?php class Third { public function Method1() { $this->mysqli = new mysqli($db['host'], $db['user'], $db['password'], $db['name']); } public function Method2($dbname) { return $this->mysqli->select_db($dbname); } } ?> Каждый класс расположен в отдельном файле. Пишет ошибку, Fatal error: Call to a member function Method2() on a non-object in [...тут путь... к файлу, содержащему Secondary Class ]. Конкретно PHP не понравилась строка $var2 = $Primary->Third->Method2($dbname); в Secondary... У меня есть предчувствие, что вызываемый класс не может просто так обращаться к вызывающему его классу. Подскажите, пожалуйста, почему так происходит, в чём моя ошибка и как можно решить данную проблему. Сообщение отредактировал wizard993: May 11 2011, 21:17 |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 25 April 2025 - 19:48 |