Классы, область видимости, вызов из разных файлов.

djdiplomat
На сайте с 05.08.2009
Offline
136
562

По ходу я уже куда-то в дебри полез... синглклассы и тп.. помогите советом.

Классы лежат в разных файлах. Файлы подключаются в головном файле monitoring.php.

Есть один класс (avito_rel), в котором хранится в массиве отчет об ошибках и который содержит ряд других функций, которые нобходимо вызывать из других классов.

Пока все лежало в одном файле, все работало. Но когда стали разносить по файлам.... Суть такова - как единожды объявить глобальный класс, чтобы можно было к нему обращаться из разных файлов не создавая новый экземпляр класса?

monitoring.php

include_once ( plugin_dir_path(__FILE__) . 'classes.php' ); // подключаем классы
include_once ( plugin_dir_path(__FILE__) . 'class-rooms.php' ); // подключаем классы
$avito_rel = new avito_rel(); // содаем экземпляр класса
$xml = $avito_rel->AvitoLog();

classes.php

Class avito_rel {
.....
public $AvitoLog = array();
function itog() {
return $this->AvitoLog;
}
....
}

class-rooms.php

Class avito_rooms {
...
$xml = $avito_rel->AvitoLog();
$avito_rel->itog();
...
}
edogs software
На сайте с 15.12.2005
Offline
775
#1
Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
G2
На сайте с 27.10.2009
Offline
62
#2

avito_rel

- содержит только статические методы и используется исключительно для неймспейсинга?

= :: спасет мир

- должен использвоаться с инстансами, и его можно инстанцииировать?

= в конструкторе тех, кому он нужен, инициализируем локальную копию

- должен использовать единтсвенный экземпляр?

= используем синглтон, или передаем в конструктор тех, кто его использует, инстанс

КакМаршрутник (http://goo.gl/forms/hMgaH0s9E5) — как маршрутник, но работает.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий