Silex

Preview:

Citation preview

Silex

Kamil Ondrák

▷ PHP microframework

▷ Symfony2 a Pimple

▷ Composer

▷ Snadné zapojení Symfony2 komponent

▷ V základu především DI a routování

O co jde

<?php

require_once __DIR__.'/../vendor/autoload.php';

$app = new Silex\Application();

$app->get('/hello/{name}', function($name) use($app) {

return 'Hello '.$app->escape($name);

});

$app->run();

?>

Základní aplikace

▷ Instalace přes composer

composer require twig/twig

▷ Registrace Providera

▷ Použití v aplikaci

Aktivace komponent

$app->register(new Silex\Provider\TwigServiceProvider(), array( 'twig.path' => __DIR__.'/views',));

$app->get('/hello/{name}', function ($name) use ($app) { return $app['twig']->render('hello.twig', array( 'name' => $name, ));});

▷ Volitelné, pochopitelně pouze od PHP 5.4 výše

▷ Většina výchozích providerů nějaké poskytuje

▷ Umožňují kratší zápisy

▷ Ukázka:

return $app->render('index.html', ['name' => 'Fabien'])

Traits

Výkon

Zdroj: http://blog.a-way-out.net/blog/2015/03/27/php-framework-benchmark/

▷ Výhody

○ Rychlý vývoj prototypů a drobných aplikací

○ Využití znalostí Symfony

○ Testovatelnost

▷ Nevýhody

○ Velká část konfigurace přes stringy

○ Nepovedlo se mi rozběhat Assettic s automatickou

minifikací

○ Bez ORM (pouze Doctrine DBAL)

○ Riziko sklouznutí ke špagetovému kódu

Výhody a nevýhody

Díky za pozornost!Otázky?

Kamil Ondrákkamil.ondrak@keyup.eu