Pa ne bih baš rekao da ćeš sa $_SERVER["DOCUMENT_ROOT"] dobiti željenu putanju... Dobra praksa je da negde u okviru svoje aplikacije, najčešće u bootstrap fajlu, definišeš tu neku osnovnu putanju, npr. ovako:
Code:
define('BASE_PATH', realpath(dirname(__FILE__)));
Takođe, ne bi bilo loše da ceo taj folder sa 3rd party lib-ovima staviš na include_path:
Code:
set_include_path('.' . PATH_SEPARATOR . BASE_PATH . '/lib/vendor'
. PATH_SEPARATOR . get_include_path());
E ja sad ne znam dal' ti Doctrine klase držiš u još nekom podfolderu, ili ti je osnovna, Doctrine klasa u root-u tog lib/vendor foldera? Meni je nekako logičnije da ti je onaj folder
Doctrine i fajl
Doctrine.php budu u root-u tog vendor foldera... A ako to ipak nije slučaj, onda moraš da dodaš i putanju do tog podfoldera u include_path.
I sada ako još dodaš ovako nešto u tvoj bootstrap:
Code:
function __autoload($className)
{
include_once(str_replace('_', '/', $className) . '.php');
}
... nema potrebe da radiš nijedan od onih koraka iz Doctrine "Getting started" dokumentacije.
Drugo rešenje bi bilo da ostaviš onu definiciju BASE_PATH-a u tvom bootstrap-u (to je inače apsolutna putanja do foldera u kome se nalazi taj bootstrap fajl), a da onda $_SERVER["DOCUMENT_ROOT"] zameniš upravo sa BASE_PATH konstantom. I sad naravno moraš da registruješ Doctrine autoload za __autoload implementaciju: spl_autoload_register(array('Doctrine', 'autoload'));.
Ja mislim da bi trebao da probaš sa ovim prvim načinom...