
![]() |
Здравствуйте Гость ( Вход | Регистрация ) |
|
|
|
![]() ![]() ![]() |
![]() |
|||||||||||||||||||||||||||||
![]() ![]() Абориген ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 201 Пользователь №: 17150 На форуме: Карма: ![]() |
Вот сейчас задумался, а как это сделать? Приходило в голову что-то типа :
Ну или $this->_classes заменить на массив. Ну вообщем задумка такая чтобы все классы, которые находятся в каталоге классов автоматически подключались при старте скрипта. При использовании вышенаписанного происходит перепонение буфера.... Может кто поделится идеей? ![]() Использую php 5.3 т.к. хост на него будет скоро переходить всё равно. Дополнение: core - базовый класс, а core() - функция для выполнения при объявлении объекта. Сильно не пинайте, ООП начал использовать очень недавно ![]() Спустя 47 минут, 23 секунды (31.10.2009 - 16:19) glock18 написал(а): Ka4_0k ммм... к чему подключать сразу все классы? пхп 5.3 прекрасная штука, но даже меньшие версии позволяют назначить свою функцию (метод класса или объекта) для автоматической загрузки классов. при этом загружаться они будут только по мере обращения к ним. Спустя 17 минут, 23 секунды (31.10.2009 - 16:36) Ka4_0k написал(а): Ну вообщем как я делал. В начале index.php
Классы хотел подключить при объявлении объекта main, чтобы они автоматом вписались в элемент _classes.
Это как? require и include теперь для классов не нужны? Спустя 52 минуты, 12 секунд (31.10.2009 - 17:28) WildeR написал(а):
function __autoload тебе нужна для автоматического подключения классов. В ней уже будешь делать инклуд нужного файла. Спустя 2 минуты, 55 секунд (31.10.2009 - 17:31) Ka4_0k написал(а):
Нет, немного не то ![]() Спустя 7 минут, 45 секунд (31.10.2009 - 17:39) WildeR написал(а):
Что ты понимаешь под динамической подгрузкой? ![]() function __autoload как раз выполняется, когда в коде встречается необъявленный класс. Можно вот так написать эту функцию например:
Спустя 2 минуты, 26 секунд (31.10.2009 - 17:41) Ka4_0k написал(а): Так вот мне какраз и надо чтобы не использовать подобные вещи:) Я же выше написал
Тоесть не требуется никаких вызовов. Подключаются все классы которые находятся в каталоге классов и при этом все заносятся либо в подобъект объекта main или в массив в объекте main=). Стоп. Вот это без её вызова?
Спустя 7 минут, 52 секунды (31.10.2009 - 17:49) WildeR написал(а):
Объявляешь эту функцию в скрипте и классы при обращении к ним будут загружаться автоматически без "ручного" вызова самой этой функции. То есть при обнаружении необъявленного класса php сам вызовет функцию __autoload. Спустя 6 минут, 46 секунд (31.10.2009 - 17:56) Ka4_0k написал(а): Спасибо большое! =) А если она будет находится сам в классе core ? Тоесть класс core я подключу вручную, а функцию эту объявлю в нём, такое прокатит? ![]() Спустя 3 минуты, 56 секунд (31.10.2009 - 18:00) WildeR написал(а):
Думаю такое не прокатит:)ее надо "внеклассово" объявить. Спустя 2 минуты, 4 секунды (31.10.2009 - 18:02) Ka4_0k написал(а): Ладно, спасибо ![]() ![]() Спустя 1 час, 52 минуты, 48 секунд (31.10.2009 - 19:55) glock18 написал(а): Ka4_0k http://ru2.php.net/manual/en/function.spl-...ad-register.php функция/метод подается в нее стандартно, как callback. А значит можно передать, и метод, и функцию. -------------------- -Oh My God! They Killed Kenny!
-You Bastards! |
||||||||||||||||||||||||||||
![]() |
![]() ![]() ![]() |