Вызов функций класса в include

Рейтинг: 0Ответов: 1Опубликовано: 01.04.2015

Есть файлы
index.php

$c = new demo();
$c = $c->mysql();
include('demo.php');

demo.php

mysql_query(запрос);   
  $c->test();

запрос сработал, а вот функция нет.
ошибка

Fatal error: Call to a member function test() on a non-object /demo.php

Если в файле демо снова объявить класс (new demo()), то работает, но разве класс не должен инициироваться?
Есть ли решения другие решения, нежели чем в каждом include файле объвлять его?

Ответы

▲ 1

снова объявить класс(new demo())

Создать экземпляр класса. Класс объявляется только раз.

Теперь немного внимания:

$c = new demo();
$c = $c->mysql();

$c в этот момент становится тем, что возвращает $c->mysql(). Сомневаюсь, что это тот же самый экземпляр.

и есть ли решения чем в каждом include файле объвлять его?

посмотрите паттерн Registry.