как объявить все ваши включения в один файл, который будет загружен во весь проект на PHP - PullRequest
1 голос
/ 10 февраля 2010

Я работаю над проектом, но мне надоело загружать все библиотеки на каждой странице

каталоги моего проекта примерно такие

|---x (( PHP PAGES ))
  |--- x1.php (( PHP FILE ))
  |--- x2.php (( PHP FILE ))
|---y (( PHP PAGES ))
  |--- y1.php (( PHP FILE ))
  |--- y2.php (( PHP FILE ))
|---includes (( LIBRARIES ))
a.php (( PHP FILE ))
b.php (( PHP FILE ))
c.php (( PHP FILE ))

Я пытался загрузить все свои библиотеки в одном файле и загрузить этот файл на всех страницах, но проблема возникает из-за каталогов, например, загрузка библиотек в x1.php будет выглядеть примерно так "../include/ ", но загрузка в a.php просто требует" include / "я знаю, что есть способ получить доступ к каталогу" includes "независимо от того, откуда поступил запрос, но я понятия не имею, как это сделать.

Спасибо

Ответы [ 2 ]

1 голос
/ 10 февраля 2010

Загрузка каждого отдельного файла в качестве включающего добавит нежелательный раздув и, возможно, замедлит ваш сайт. Что вы можете попробовать, так это автозагрузка классов: http://www.php.net/manual/en/language.oop5.autoload.php

Это устраняет необходимость разбрасывать повсюду, но будут включены только те файлы, которые вам действительно нужны.

0 голосов
/ 14 сентября 2010

Ответ на ваш вопрос - установить include_path. По умолчанию PHP ищет включенные файлы в том же каталоге, что и вызывающий файл, но если вы установите include_path, он будет выглядеть там.

Однако автозагрузка классов и функция __autoload() в конечном счете даже лучше, так что ответьте на e4c5.

...