írta Carl Vondrick
Symfony 1.1-es projektekben egyszerűen használhatunk Propel 1.3-t, kihasználva az új verzió nyújtotta előnyöket: sebesség javulás, nested set implementáció, object pooling, stb. A legfontosabb változás, hogy a Propel 1.3 PDO-t használ absztrakció rétegként Creole helyett, ami jelentős teljesítmény-növekedést jelent.
A telepítés csak néhány percet vesz igénybe. Csupán egy plugin telepítésről és két konfigurációs file módosításáról van szó. Lássuk hogyan.
Propel 1.3 telepítése a symfony repository-ból:
$ cd /path/to/project/root/ $ svn co http://svn.symfony-project.com/plugins/sfPropelPlugin/branches/1.3/ plugins/sfPropelPlugin
a Propel 1.3 új csatlakozási formátumot használ, ezért frissíteni kell a
databases.yml
filet. Változtassuk meg aconfig/databases.yml
tartalmát a következőkre:dev: propel: param: classname: DebugPDO all: propel: class: sfPropelDatabase param: dsn: mysql:dbname=mydb;host=localhost username: username password: password encoding: utf8 persistent: true pooling: false classname: PropelPDO
A DSN frissítéséhez segítséget nyújt a PDO manual.
Frissítenünk kell a
propel.ini
-t is. Aconfig/propel.ini
file következő sorait kell törölni:propel.database = mysql propel.database.createUrl = mysql://root@localhost/ propel.database.url = mysql://root@localhost/myproject
A helyükbe pedig a következőket kell beilleszteni:
propel.database = mysql propel.database.driver = mysql propel.database.createUrl = mysql://localhost/ propel.database.url = mysql:dbname=mydb;host=localhost propel.database.user = username propel.database.password = password propel.database.encoding = utf8
Ellenőrizzük, hogy a
propel.database.url
megegyezik a második lépésben megadott DSN-nel.Töröljük a cache-t:
$ symfony cache:clear
A Propel 1.3 javított objektum modelt használ, ezért újra kell generálni a modeleket:
$ symfony propel:build-model
Ha egy új projektről van szó már készen is vagyunk. A schema.yml
szintaxis teljesen megegyezis a Propel 1.2-vel. Az új API radikális változást nem hoz, a legtöbb eset teljesen megegyezik a korábbival.
Ha egy létező projektet frissítettünk, még szükség van némi plusz munkára, de az alkalmazás legnagyobb része valószínüleg továbbra is hiba nélkül fog működni. Ha használunk tranzakciókat vagy közvetlenül Creole-t, akkor azt kézzel kell átállítani PDO alapokra. A Propel projektnek létezik egy, a frissítés leírását tartalmazó oldala, amely végigvezet az egész procedúrán. Új projekt esetén is hasznos áttanulmányozni, itt megismerkedhetünk az új funkciókkal.
A symfony 1.1 különválasztotta az alap rendszert, így bármilyen ORM réteg használható vele. Ha a Propel nem megfelelő, kipróbálhatjuk az sfDoctrinePlugin-t is, egy Propel alternatívát, ami a Propel 1.3 teljesítményét hozza. A symfony 1.1-nek köszönhetően a fejlesztők élvezhetik a Propel 1.3 jobb teljesítményét, vagy a Propel 1.2 sziklaszilárd stabilitását.
This work is licensed under the Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License license.