SILEX

Fabien
Potencier

fondateur de SensioLabs en 1998

eZPublish, Drupal, phpBB, Laravel, Joomla!, Composer, Magento, Piwik11

Symphony
18 septembre 2005

Silex

micro Web-Framework
16 Septembre 2010

built-in Web Security, Sessions and Cookies abstraction.. yeah!

Twig

Doctrine

Monolog

Il ne fait pas la conversion en Octal !

9 = 9

30 = 30

=>

Créé

Fabien Potencier

aidé par Igor Wiedler 95 commits,
Dave Marshall 32 commits,
Jérôme Tamarelle 13 commits,
Alexis Kalyvitis 12 commits...

et maintenu par :

Avec 518 commits a lui seul !..

il aime vraiment beaucoup les cailloux

par

Silex

micro Web-                        
16 Septembre 2010

built-in Web Security, Sessions and Cookies abstraction.. yeah!

Twig

Doctrine

Monolog

Il ne fait pas la conversion en Octal !

Framework???

Framework???

Framework???

Framework???

Framework???

Framework???

Framework???

Framework???

Ké ke cé un framework ?

Un framework est un ensemble d'outils et de composants logiciels organisés conformément à un plan d'architecture et des patterns, l'ensemble formant ou promouvant un « squelette » de programme. Il est souvent fourni sous la forme d'une bibliothèque logicielle, et accompagné du plan de l'architecture cible du framework.

Pourquoi c'est bien ?

  • Pour appréhender Symfony2
     
  • Mini-framework
     
  • Utilise Composer
     
  • Code optimisé
     
  • Compliant "psr-7"
  • Maintenance
     
  • Travail collaboratif
     
  • Communauté
     
  • Documentation
     
  • Compréhension

Pourquoi c'est bien ?

Pourquoi, des fois, c'est pas super ...

  • Pas adapté pour des gros sites.
     
  • Moins puissant et possède moins de fonctionnalités que Symfony.
     
  • Faut bien connaître la POO ; )

Installation

Via composer : gérer les dépendances de l'application

 

1- Installer à la racine Composer  sur le terminal : composer

 

2 - Création d'un fichier composer . json à la racine du projet et  insérer le code ci dessous :

          {

                   "require" : {  

                                           "silex/silex": "2.0.*"

                      }

          }

3 - Récupération de Silex via composer : à la racine du projet ouvrir terminal  et lancer :

                     composer install 

=> création de nouveaux  repertoires et fichiers  vendor

Arborescence du nouveau repertoire vendor

Bootstrap Silex

amorçage

1- Créer un fichier index.php dans le répertoire public  

2- Pointer vers le fichier bootstrap.php ( fichier où l'on va indiquer le fonctionnement du framework.

 

<? php

require_once__DIR__.'/../App/bootstrap.php';

 

 

Bootstrap.php

amorçage

//On ajoute l'autoload :

           $loader = require-once__DIR__.'/../vendor/autoload.php';

 

// dans l'autoloader on indique le répertoire applicatif

            $loader->add("App,dirname(__DIR__));

 

// on instance un objet Silex\Application

            $app=new Silex\Application();

// pour voir les erreurs

             $app['debug'] = true;

// on lance l'application

            $app->run();

IndexController.php

 la méthode  connect ()  définit les routes

<?php
namespace App\Controller {

    use Silex\Application;
    use Silex\ControllerProviderInterface;


    class IndexController implements ControllerProviderInterface
    {

        public function index()
        {  return 'Bonjour';
        }

        public function info()
        {
            return phpinfo();
        }

        public function connect(Application $app)
        {
            // créer un nouveau controller basé sur la route par défaut
            $index = $app['controllers_factory'];
            $index->match("/", 'App\Controller\IndexController::index');
            $index->match("/index", 'App\Controller\IndexController::index');
            $index->match("/info", 'App\Controller\IndexController::info');



            return $index;
        }

Affichage des pages

http://localhost/projet/public

 

L'application est fonctionnelle

 

mais vous pouvez aller plus loin

en installant Twig ( template )

 

Quentin ?
C'est Fini ?

MERCI BIEN

Silex

By cyrild

Silex

  • 314