Если вы работаете с большим проектом, где подключается очень много файлов из различных папок, наверняка вам причиняло неудобство при указании относительных или абсолютных путей в require_once(). Эту проблему можно решить раз и навсегда, указав директории для поиска "php библиотек". Воспользуемся функцией ini_set(), чтобы указать путь поиска библиотек.
Допустим, в корне сайта у нас лежат:
index.php libs/test1.php libs/test2.php
Допустим в файле index.php нам нужно сделать “инклуд” файлов “test1.php” и “test1.php”, которые лежать в папке libs. Конечно, когда у нас всего 3 файла легко прописать в require_once() относительные или абсолютные пути. Давайте укажем директорию для поиска библиотек и подключим эти 2 файла без указания абсолютных и относительных путей:
<?php ini_set('include_path', getenv(DOCUMENT_ROOT)."/libs"); require_once('test1.php'); require_once('test2.php'); ?>
Благодаря указанию пути php без проблем находит библиотеки, лежащие в каталоге libs. При необходимости можно указать несколько каталогов, в которых php будет искать файлы при вызове функции require_once(). Продемонстрирую это ниже.