Kicsi a bors, de erős: Silex
Nem titok, hogy az Arkonnál a fejlesztésekhez a Symfony keretrendszert preferáljuk, az ingatlan.com frontendje mögött például egy éve áltunk át Symfony 1.4-re. Ennélfogva Fabien Potencier és a Sensio Labs neve nekünk egyáltalán, de valószínűleg másnak sem ismeretlen. A Symfony atyja most egy újabb terméket dobott a piacra, a Silex-et, s nem kizárt, hogy egyszer majd hasonló népszerűségnek fog ez is örvendeni, mint a Symfony.
Silex logó
A Silex egy PHP 5.3 alatt működő, kis méretű keretrendszer, amely ideális lehet egyszerűbb feladatok (például egy Facebook-alkalmazás) megoldására. A Symfony2 és a Pimple keretrendszerekre építkezik, de nagyrészt inspirálta a Ruby-s Sinatra is. Három fő tulajdonsága teszi kis feladatok megvalósításához a tökéletes választássá:
- kompakt: tömör és egyértelmű API;
- bővíthető: saját bővítmény-kezelővel rendelkezik, amely a Pimple-t használja, így rendkívül egyszerű a különböző library-k betöltése;
- tesztelhető: akárcsak a Symfony-ban, a Silexben készített projektek is könnyedén tesztelhetők.
A hivatalos oldalon található leírás és kód alapján a lényeg, hogy kontrollereket definiálunk, amiket egy mozdulattal köthetünk a különböző route-okhoz:
require_once __DIR__ . '/silex.phar';
$app = new Silex\Application();
$app->get('/hello/{name}', function ($name) use ($app) {
return 'Hello ' . $app->escape($name);
});
$app->run();
Mindössze a silex.phar
elnevezésű PHP Archive betöltése szükséges, a többit a keretrendszer intézi, ahogyan ez el is várható. A route definiálása után már csak futtatni kell az appot, és gyakorlatilag készen is volnánk.
A Silex forráskódját a GitHubos projekt oldaláról lehet letölteni, illetve érdemes átolvasni a korrekt dokumentációját, amelyből gyorsan elsajátíthatóak működésének alapjai.
■
Használom
Oo
Hónapok óta próbálom rávenni magam, hogy nekikezdjek, erre most tessék.. :)
Egy próbát én is adtam már neki
Bizonyos pontok viszont szerintem alul vannak dokumentálva, például hogy hogyan is lenne célszerű megírni azokat a teszteket, hogy passzoljon a keretrendszer filozófiájához.
Érdemes úgy, mintha Symfony 2