![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| WolfON |
|
||||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 604 Регистрация: 19.7.2004 Репутация: 6 Всего: 8 |
Есть структура проекта:
Для модульного тестирования я использую пакет PEAR\PHPUnit, чтобы все это добро заработало в конфиг пришлось добавить
В class.DB.php:
В class.Test.php:
В testTest.php:
в index.php:
роде все просто и очевидно, но после того, как я изменил конфиг php class.Test.php работает вполне себе спокойно, а вот index.php ругается на Fatal error: require_once() [function.require]: Failed opening required '../config/DB.conf.php' (include_path='.;.\;c:\php\pear') in E:\Projects\Test\classes\class.Database.php on line 2 E:\Projects\Test в конфиге апача соответствует /test на сервере, а главная папка c:\www Что-то я тут недопонимаю >_> |
||||||||||||
|
|||||||||||||
| sTa1kEr |
|
||||
|
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
include()
Я бы рекомендовал использовать абсолютные пути. Если вы придерживаетесь ООП, то могу предложить использовать класс, который я как-то написал, что бы забыть про инклюды как страшный сон.
|
||||
|
|||||
| WolfON |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 604 Регистрация: 19.7.2004 Репутация: 6 Всего: 8 |
Хех, а ларчик просто открывался %) Как я понял, у вас в коде есть карта классов, которая загружается в память и потом через нее все инклудит - хорошее решение, но мне пока, учитывая размеры этого проекта - такое не надо. |
|||
|
||||
| Golda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 26.3.2007 Где: Ариель, Израиль Репутация: 20 Всего: 42 |
WolfON,
чтобы измбежать проблем с инклюдами, - только абсолютные пути. include('file.php') => include(dirname(__FILE__) . '/file.php'); и. т.д. А если существенно еще и require_once или include_once, то лучше еще и realpath(). Вполне вероятная ситуация, когда
будут как раз восприняты, как разные файлы и подключатся дважды. Вы не уследите, когда какая-то функция вдруг начнет использоваться не только из web-интерфейса, но и через cli. В общем, абсолютные пути - меньше проблем -------------------- "For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics |
|||
|
||||
| sTa1kEr |
|
|||
|
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
Верно, но эта карта составляется автоматически (путем парсинга скриптов через token_get_all) первый раз и обновляется каждый раз когда не найден нужный класс, по этому прекрасно работает с проектами любых размеров. |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |