Здесь вы найдете мои заметки разработчика на php, html, xml, xsl, xslt, ajax и еще много умных и модных слов.

2006-12-20

Не забывайте про include_path

Все мы часто имеем проблемы при работе с относительными путями и прочей белебердой. Также сталкиваемся с еще рядом проблем, к примеру, если написать несколько классов, опирающихся один на другой, ведь проще просто написать в одном из них
include "someThing/someThing.php";

и не мучать себя, нежели где-то в настройках прописывать какой-нибудь basedir или (что есть вообще ужас) менять php.ini. Есть метод попроще как эту папку someThing этому вот php найти. Есть отличная ф-ция, которую я взял у скрипта, работающего с рядом скриптов на сайте http://dklab.ru.

if (!defined('PATH_SEPARATOR'))
define('PATH_SEPARATOR', getenv("COMSPEC") ? ";" : ":");

/*
* Добавляет путь $path к массиву include_path

* для того, чтоб можно было делать обыкновенный require
* или include ('classname.php')
*
* @param string $path
*/
function add_include_path($path)
{
ini_set("include_path", ini_get("include_path") . PATH_SEPARATOR . $path);
}

[http://pastebin.mozilla-russia.org/675]

Полезная ф-ция. Дает возможность "на лету" добавлять include_path, который вам нужен, чтоб потом пользоваться относительными, а не абсолютными путями.