Mi várható a Symfony 1.1-ben – 1. rész

th { font-weight: bold; text-align: left; }

td { padding: 2px 5px; }

A symfony 1.1 gyakorlatilag készen áll, lássuk milyen változások/újdonságok várható az új kiadásban.

A leí­rás Fabien Potencier, International PHP 2007 Conference előadásának fóliái alapján készült.

áttekintés, új task rendszer.

Tehát az újdonságok nagyvonalakban:

  • Új task keretrendszer
  • Nagyobb függetlenség:
    • Singletonok eltávolí­tása (sfContext kivételével)
    • Függőségek megszüntetése az alapvető osztályok között
    • Új Event Dispatcher rendszer
  • Form / Validation keretrendszer

Kezdjük az apróságokkal:

Controller:

Megváltozik az action elnevezése: az eddigi executeActionName() forma helyett az actionNameAction($request) lesz használatos (bár a jelenlegi /2007-11-29/ svn trunk állapot szerint ez a változás még nem történt meg).

// 1.0 alatt
class blogActions extends sfActions {
  function executeShow() {
    $this->forward404Unless(
      $this->post = PostPeer::retrieveByPk(
        $this->getRequestParameter('id')
      )
    );
  }
}

// 1.1 alatt
class blogActions extends sfActions {
  function showAction($request) {
    $this->forward404Unless(
      $this->post = PostPeer::retrieveByPk(
        $request->getParameter('id')
      )
    );
  }
}

Amit viszont biztosan észrevettetek: az action kapott egy $request paramétert, amely az aktuális kérést tartalmazza (nincs többet $this->getRequest() és társai). Emellett a sendEmail() metódus átkerült az sfAction alól az sfControllerbe.

Az sfParameterHolder osztály a továbbiakban nem támogatja a névtereket. (Ebből következik, hogy a getAll() metódusnak sem kell mostantól névteret megadni a helyes működéshez.)

Új task keretrendszer:

  • Könnyebben kiterjeszthető alap taskok
  • Névteret kapnak a taskok
  • Beépí­tett súgó rendszer
  • A taskok különváltak a parancssortól
    • meghí­vhatóak parancssorból
    • … vagy a saját kódodból

Task névterek:

Alapvetően három névtér alá rendezték az eddigi parancsokat: generate, test, i18n.

generate
:app új alkalmazás készí­tése (alias init-app)
:batch új batch készí­tése (alias init-bacth)
:controller új front controller készí­tése (alias init-controller)
:module új modul készí­tése (alias init-module)
:project új projekt készí­tése (alias init-project)
test
:all összes teszt indí­tása
:functional funkcionális teszt indí­tása
:unit egységteszt indí­tása
i18n
:extract i18n szövegek kinyerése php fileokból
:find i18n-re fel nem készí­tett szövegek keresése az alkalmazásban
cache
:clear cache törlése (alias cc, clear-cache)
log
:clean logok törlése (alias log-purge)
:rotate (alias log-rotate)
plugin
:add-channel új PEAR csatorna felvétele
:list plugin-ek listázása (alias plugin-list)
:install új plugin telepí­tése (alias plugin-install)
:uninstall plugin eltávolí­tása (alias plugin-uninstall)
:upgrade plugin frissí­tése (alias plugin-upgrade)
project
:clear-controller éles környezetben használatos, törli a nem éles rendszerhez szánt front controllereket (alias clear-controllers)
:deploy telepí­ti a projektet a megadott nevű szerverre. a szerver beállí­tásainak a config/properties.ini alatt szerepelnie kell (alias sync)
:disable kikapcsolja az alkalmazás futtathatóságát a megadott környezetben (alias disable)
:enable bekapcsolja az alkalmazás futtathatóságát a megadott környezetben (alias enable)
:freeze bemásolja az összes symfony core filet az aktuális projektbe (alias freeze)
:unfreeze eltávolí­tja a symfony core fileokat az aktuális projektből (alias unfreeze)
:permissions beállí­tja a könyvtárak helyes jogait (alias permissions, fix-perms)
:upgrage1.1 konvertálja az 1.0-ás projektet 1.1-essé

Az egyes taskok használatáról a jövőben egyszerűen nyerhetünk információt: (parancssorból) symfony help NÉVTÉR:TASK. A nagyon kultúrál eredményben szépen látszik minden, amit az adott feladatról fontosnak tartott a készí­tő.

Ahogy korábban emlí­tettem a taskok a jövőben kódból is indí­thatók. Lássunk erre egy egyszerű (de nagyon hasznos) példát:

$task = new sfCacheClearTask($dispatcher);
$task->run();

Végszó

Azért még nincs vége🙂. Most áttekintettük a főbb változásokat nagyvonalakban, emellett volt szó apróbb változatásokról, valamint az új task rendszerről. A következő részben az alap osztályok függőségeiről és az Event Dispatcherről lesz szó.

Kategória: php, symfony
Címke: , , ,
Közvetlen link a könyvjelzőhöz.

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s