[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как работает require/include ?
Arcoslov
Здравстуйте.

Гуру программирования, проясните, пожалуйста, как работает подключение php файлов в данный php файл.

Исходные данные:
в Папке 1 находится 1.php с описанием класса class1
в Папке 2 находится 2.php с описанием класса class2
в Папке 3 находится 3.php с описанием класса class3

Собственно, два вопроса.
1)
Я подключил к файлу 1.php два файла: 2.php и 3.php.
При запуске файла 1.php будет ли работать некий код, расположенный в файле 2.php, который использует объекты класса class3?

Не понимаю, нужно ли инклудить файл 3.php в файл 2.php, они же вроде одновременно заинклудены в 1.php, в единое пространство, так сказать..

я-то, естественно, могу понавтыкать везде require_once, но я хочу понимать как работает.


2)
я подключаю к файлу 1.php файл 2.php,
хочу к файлу 2.php подключить файл 3.php.
Какой путь в файле 2.php мне следует указывать к файлу 3.php?
Относительно файла 1.php или относительно файла 2.php?

Миша
В каком подключаешь? В 1 php, путь к остальным подключаемым файлам, читай отсюда.

А вообще путь к файлам я ставлю от корня, низнаю как другие.

_____________
Принимаю заказы, писать в ЛС
mvg
Да! Относительно файла 2.php.

А вообще удобно пользоваться функцией __autoload или spl_.
Hello
Цитата (Arcoslov @ 29.12.2014 - 17:42)
будет ли работать некий код, расположенный в файле 2.php, который использует объекты класса class3?

Нет, файлы выполняются последовательно, и в момет выполнения 2.php class3 еще не будет подключен.

Цитата (Arcoslov @ 29.12.2014 - 17:42)
Какой путь в файле 2.php мне следует указывать к файлу 3.php?
Относительно файла 1.php или относительно файла 2.php?

Относительно 1.php, но можно воспользоваться константой __DIR__, и тогда можно подключать файлы отностительно 2.php

_____________
VPS от 5$, первые 2 месяца - бесплатно.
Arcoslov
Цитата (Hello @ 30.12.2014 - 12:28)
Цитата (Arcoslov @ 29.12.2014 - 17:42)
будет ли работать некий код, расположенный в файле 2.php, который использует объекты класса class3?

Нет, файлы выполняются последовательно, и в момет выполнения 2.php class3 еще не будет подключен.

Но если в него файл 3.php инклудится ДО выполнения кода, то будет. Верно? smile.gif
Цитата (Hello @ 30.12.2014 - 12:28)

Цитата (Arcoslov @ 29.12.2014 - 17:42)
Какой путь в файле 2.php мне следует указывать к файлу 3.php?
Относительно файла 1.php или относительно файла 2.php?

Относительно 1.php, но можно воспользоваться константой __DIR__, и тогда можно подключать файлы отностительно 2.php

Понял, спасибо.
Господа, вроде разобрался, спасибо за участие.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.