Форум → Программирование → PHP для идиотов → Не срабатывает __autoload() для родительского класса
Не срабатывает __autoload() для родительского класса
Страницы: ← Следующая страница →
-
6 июля 2010 г. 21:26, спустя 5 минут 53 секунды
профи обосрались :)Спустя 24 сек.у меня такая тема тоже была, не помню как решал. Покаж лоадер и классы -
6 июля 2010 г. 21:34, спустя 8 минут 11 секунд
function __autoload($sClass) {
echo $sClass . '<br>';
//дальше лоадер. Я думаю не важно что именно там.
классы:class Portal {
иclass Builder extends Portal {
Вызываю:$oBuilder = new Builder();
Получаю:Builder
Fatal error: Class 'Portal' not found in /home/vaseninm/dnportal/core/classes/builder.class.php on line 9 -
6 июля 2010 г. 21:37, спустя 3 минуты 3 секунды
[var]__autoload[/var] - моветон. Попробуй через [man]spl_autoload_register[/man] -
6 июля 2010 г. 21:39, спустя 2 минуты 21 секунду
а если вызвать $oBuilder = new Portal(); — срабатывает?Спустя 54 сек.стопудово дело в регистре имени файла, где лежит Portal )))Спустя 26 сек.с тебя плюсикιιlllιlllι унц-унц -
6 июля 2010 г. 21:40, спустя 1 минуту 15 секунд
у меня такая тема тоже была, не помню как решал
вру, было не так:
child extends parent
new child // не могу загрузить родителя, так как он реально отсутствует
// но вываливаюсь с ошибкой загрузки ребенка -
6 июля 2010 г. 21:45, спустя 4 минуты 39 секунд
artoodetoo, сработало. Ну плюсег держи. От алекса отрываешься?)
Дело в том, что функция автолоад вообще не срабатывет. Я специально вывожу названия классов в автолоаде.
эмм… Родитель синглтон) Можт это что то важное? -
6 июля 2010 г. 21:52, спустя 7 минут 16 секунд
хз. в принципе такие связи разруливаются через автолоадеры и неважно __autoload или spl_autoload_register
ЕСЛИ, как ты пишешь, "на других серверах работает", проблема в путях/регистре — гадалку не зовиιιlllιlllι унц-унц -
-
6 июля 2010 г. 22:14, спустя 13 минут 41 секунду
в никсах файлы Portal.php и portal.php для системы являются различными, ищи проблему с регистром символов, как сказал р2д2 - 100% что проблема в этомWork, buy, consume, die -
6 июля 2010 г. 22:50, спустя 36 минут 28 секунд
__autoload - моветон. Попробуй через spl_autoload_register
сеньк. Запустилось. 0_о -
6 июля 2010 г. 22:55, спустя 5 минут 18 секунд
SpartakuS, ну и так, чисто попутно:$oBuilder = new Builder(); // не совсем корректный вызов, так как аргументов ты не передаешь для конструктора
$oBuilder = new Builder; // более корректный
Ну а по твоему вопросу, то:
1. Регистр таки важен очень-очень
2. Если родитель синглтон, то по-идее должно сказать "КУЙ", ибо синглтон - это своего рода статический класс, но точно не уверен, ибо не пробовал такого делать. Делал синглтоном дочерний класс, ибо один хер мне два объекта (синглтоновский родитель и обычный дочерний) нахер не нужны.Спустя 236 сек.SpartakuS, да и вообще, обясни в чем тогда необходимость подключать родителя, если он и так везде доступен! Если только из-за красоты $this->method() вместо Parent::instance()->method(), то думаю это херовый выигрыш. -
6 июля 2010 г. 23:05, спустя 9 минут 55 секунд
1. Регистр таки важен очень-очень
$sClass = mb_strtolower($sClass).'.class.php';
2. Если родитель синглтон, то по-идее должно сказать "КУЙ", ибо синглтон - это своего рода статический класс, но точно не уверен, ибо не пробовал такого делать. Делал синглтоном дочерний класс, ибо один хер мне два объекта (синглтоновский родитель и обычный дочерний) нахер не нужны.
Да нормально наследуется, parent::getInstance(); и все проблемыСпустя 219 сек.Givi, по второму. Системма не моя. Только первый день с ней работаю. -
6 июля 2010 г. 23:47, спустя 41 минуту 46 секунд
Нафиг mb_? Если названия классов на инглише только?https://smappi.org/ - платформа по созданию API на все случаи жизни -
Страницы: ← Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!