Ha nem tudod mi az a doctrine, nézd meg itt.
Röviden: az adatbázis kezelésben nyújt segítséget, gyorsítja a munkát, a táblákat, rekordokat objektumokon keresztül lehet elérni. Ha elkészült a teljes weboldal, segítségével úgy válthatunk mondjuk mysql adatbázisról bármely másik támogatott adatbázisra, hogy átkellene írnunk a már megírt program kódunkat.
Első lépésként töltsük le az 1.1.6 -os verziójú doctrine -t. Az 1.2 -vel nekem problémáim vannak, nem néztem utánna mi lehet a baj. Majd akkor váltok, ha a 2.0 -ból kijött a stable.
A library könyvtárban létre kell hozni egy doctrine nevü mappát. A letöltött tömörített fájlból másoljuk a lib könyvtár tartalmát ( doctrine.php és Doctrine mappa ) az imént létrehozott mappába.
Az application mappában hozzunk létre egy doctrine mappát, és azon belül egy models mappát. Itt fogjuk tárolni a doctrine által generált fájlokat.
Az application.ini -ben hozzunk létre egy struktúrát, amiben tároljuk az adatbázishoz tartozó infókat, illetve a models mappa helyét. pl.:
db.host = localhost db.username = root db.password = belepes db.db = partyport db.models = APPLICATION_PATH "/doctrine/models/"
Ezek után már csak a doctrine-t kell betölteni, beállítani az autoloadert.
A bootstrap.php fájlban hozzunk létre egy új eljárást, mondjuk _initDoctrine() néven, a tartalma a következő:
$config = $this->getOptions() $host = $configs['db']['host']; $username = $configs['db']['username']; $password = $configs['db']['password']; $db = $configs['db']['db']; $models = $configs['db']['models']; //Doctrine.php betöltése require_once(APPLICATION_PATH."/../library/doctrine/Doctrine.php"); //Doctrine autoloader regisztrálása spl_autoload_register(array("Doctrine","autoload")); $manager = Doctrine_Manager::getInstance(); $manager->setAttribute( doctrine::ATTR_MODEL_LOADING, doctrine::MODEL_LOADING_CONSERVATIVE ); $manager->setAttribute( Doctrine::ATTR_AUTOLOAD_TABLE_CLASSES, true ); $manager->setAttribute( Doctrine::ATTR_VALIDATE, Doctrine::VALIDATE_ALL ); $conn = Doctrine_Manager::connection( "mysql://{$username}:{$password}@{$host}/{$db}"); $conn->setCharset("utf8"); $conn->setAttribute(doctrine::ATTR_QUOTE_IDENTIFIER,true); Doctrine::loadModels($models);
Ezek után a doctrine használható, következő postban írok röviden a doctrine használatáról. Lehet több post lesz....