Docker Novosibirsk Meetup #3 - Docker in Production
Silex, iniziamo
1. Silex – Micro Framework
Silex è un micro framework basato su
Symfony Framework.
Realizzato da Fabien Potencier.
Gianluca Arbezzano – http://www.gianarb.it - gianarb92@gmail.com
2. Silex – Micro Framework
Non è un Framework MVC
Contiene i componenti essenziali per una piccola
Applicazione.
La soluzione per realizzare piccole applicazioni
Senza grandi dipendenze
Gianluca Arbezzano – http://www.gianarb.it - gianarb92@gmail.com
3. Silex – Micro Framework
Iniziamo da una configurazione base, creiamo uno
scheletro utilizzando come motore di rendering twig.
All'interno della cartella del progetto
●web/
●views/
●composer.json
Gianluca Arbezzano – http://www.gianarb.it - gianarb92@gmail.com
5. Silex – Micro Framework
All'interno della cartella web posizioniamo un file
index.php ed iniziamo con la configurazione di base.
<?php
/**
* This is example of base controller created with silex micro
Framework
*
* @license MIT
* @version 1.1
* @author Gianluca Arbezzano {gianarb92@gmail.com}
*/
require_once __DIR__.'/../vendor/autoload.php';
$app = new SilexApplication();
Gianluca Arbezzano – http://www.gianarb.it - gianarb92@gmail.com
6. Silex – Micro Framework
Continuiamo registrando il nostro motore di rendering
$app->register(new SilexProviderTwigServiceProvider(),
array('twig.path' => __DIR__.'/../views',
));
Inserendo il path della cartella che conterrà la viste,
creata in precedenza.
Gianluca Arbezzano – http://www.gianarb.it - gianarb92@gmail.com
7. Silex – Micro Framework
Continuiamo registrando il nostro motore di rendering
$app->register(new SilexProviderTwigServiceProvider(),
array('twig.path' => __DIR__.'/../views',
));
Inserendo il path della cartella che conterrà le viste.
Gianluca Arbezzano – http://www.gianarb.it - gianarb92@gmail.com
8. Silex – Micro Framework
Creiamo un primo controller, sempre nel file index.php
ma che non utilizza Twig
$app->get('/ciao', function () {
return 'ciao';
});
Ora inserite nella url http://vostrosito.it/web/index.php/ciao
Gianluca Arbezzano – http://www.gianarb.it - gianarb92@gmail.com
9. Silex – Micro Framework
ATTENZIONE per far girare l'applicazione alla fine di ogni
file è necessario avviare l'applicazione stessa, nel nostro
caso $app, facendo semplicemente
$app->run();
Gianluca Arbezzano – http://www.gianarb.it - gianarb92@gmail.com
10. Silex – Micro Framework
Vediamo un utilizzo più avanzato
Gianluca Arbezzano – http://www.gianarb.it - gianarb92@gmail.com
11. Silex – Micro Framework
Proviamo un controller più complesso con dei parametri
nella url ed utilizzando il rendering.
$app->get('/param/{id}', function($id) use($app){
return $app['twig']->render('param.twig', array('id' => $id));
});
Manca ancora il file Twig!
Gianluca Arbezzano – http://www.gianarb.it - gianarb92@gmail.com
12. Silex – Micro Framework
Dentro view/param.twig
Sono un param {{ id }}
Ed ora è fatta, chiamiamo il link
http://tuosito.it/web/index.php/param/1
Gianluca Arbezzano – http://www.gianarb.it - gianarb92@gmail.com
14. Silex – Micro Framework
Come potete vedere i componenti sono quelli
Base, per gestire un applicativo di medio/piccole
dimensioni.
Gestione delle Url, Sessioni, cache, form con annessa
validazione.
Una ORM tra le più valide mai scritte in Php(doctrine),
ed un sistema di Rendering facile e completo (twig).
Tutto racchiuso in un sistema di Closure estremamente
semplice da capire.
Gianluca Arbezzano – http://www.gianarb.it - gianarb92@gmail.com
15. Silex – Micro Framework
Questo è un assaggio delle cose che potete fare, questo
Framework potrebbe essere utile appunto per quelle piccole
applicazioni che spesso ci fanno sembrare un hoverhead
l'utilizzo di Framework più completi.
Credits
Gianluca Arbezzano
gianarb92@gmail.com
Nel progetto potrete trovare qualche controller in più ed
anche la definizione di un Layout
Github Project https://github.com/GianArb/silex-example
Gianluca Arbezzano – http://www.gianarb.it - gianarb92@gmail.com