Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Функция подгрузки классов
Покинул форум
Сообщений всего: 285
Дата рег-ции: Май 2010 Откуда: Тверь
Помог: 4 раз(а)
Всем доброго времени суток. возникла следующая проблема. Есть дирректория с файлами классов, есть директории других файлов. есть основной класс расположенный в папке с классами некоторые поля у него инициализируются объектами других классов. при подключении его из разных директорий возникает проблема инициализации полей, которые являются объектами других классов, так как php их попросту не находит.
функция всегда возвращает не работает. в чем проблема понять не могу. если просто перейти по формирующемуся адресу, то попадаю в нужный файл. а функция file_exists всегда возвращает false
даже если исключить функцию file_exists файл всеравно не подключается
Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008 Откуда: Москва
Помог: 57 раз(а)
не надо инклюдить код по http. Вы работаете с файловой системой
Slavenin
Отправлено: 25 Мая, 2011 - 19:29:40
Посетитель
Покинул форум
Сообщений всего: 285
Дата рег-ции: Май 2010 Откуда: Тверь
Помог: 4 раз(а)
да я б и не стал так делать, но с локальными адресами возникают проблемы которые я не могу обойти. в частности как я говорил выше с подключением файлов с классами при создании объекта в разных по вложенности директориях
Покинул форум
Сообщений всего: 285
Дата рег-ции: Май 2010 Откуда: Тверь
Помог: 4 раз(а)
Цитата:
есть основной класс расположенный в папке с классами некоторые поля у него инициализируются объектами других классов. при подключении его из разных директорий возникает проблема инициализации полей, которые являются объектами других классов, так как php их попросту не находит
оба файла лежат в одной папке cl , расположенной в корневой дирректории.
теперь если подключить класс в корневой директории с помощью функции загрузки LoadClass, то все пройдет хорошо, но если эту функцию запустить из класса a заинклюденного в одной из папок директории, то путь подгрузки должен измениться на
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Посмотрите здесь ветке уроков урок №19.
Там есть пример функции __autoload
Организуйте свои классы подобным образом и проблема будет решена раз и навсегда.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
komprenda
Отправлено: 25 Мая, 2011 - 21:04:40
Гость
Покинул форум
Сообщений всего: 105
Дата рег-ции: Май 2011
Помог: 3 раз(а)
Slavenin пишет:
Всем доброго времени суток. возникла следующая проблема. Есть дирректория с файлами классов, есть директории других файлов. есть основной класс расположенный в папке с классами некоторые поля у него инициализируются объектами других классов. при подключении его из разных директорий возникает проблема инициализации полей, которые являются объектами других классов, так как php их попросту не находит.
функция всегда возвращает не работает. в чем проблема понять не могу. если просто перейти по формирующемуся адресу, то попадаю в нужный файл. а функция file_exists всегда возвращает false
даже если исключить функцию file_exists файл всеравно не подключается
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.