Professional Documents
Culture Documents
25 janvier 2015
VEILLE TECHNOLOGIQUE :
SYMFONY
Symfony est un ensemble de composants PHP, un Framework pour application
web, une philosophie, ainsi qu'une communaut le tout fonctionnant en
harmonie.
JHINGOOR Akram
25 janvier 2015
JHINGOOR Akram
25 janvier 2015
destin aux dveloppeurs app_dev.PHP qui est optimis pour la rsolution des
problmes et le dbogage.
Comme expliqu prcdemment, dans le dossier /src on trouve des bundles,
ce sont simplement des dossiers dans lesquels on y trouve des fonctions
spcifiques pour telle ou telle tches effectuer par lapplication. Cela permet,
une fois de plus, de dcouper son code et ainsi faciliter la lecture de celui-ci.
Le routing :
Une chose importante savoir, Symfony fonctionne grce un systme de
route . Cest dire que chaque fonction cre une route unique, ce qui permet
dexcuter la fonction correspondante la route passe dans lurl. Les routes
sont dfinies dans le fichier routing.yml situ dans le dossier /app/config/ .
Exemple de route dans le fichier routing.yml :
helloworld :
pattern: /hello-world
defaults: {
_controller: TestBundle:Test:hello
}
(Ici, lurl www.monsite.com/hello-world redirige vers la fonction hello du
contrleur TestController du bundle TestBundle ).
Les contrleurs :
Comme dit prcdemment, Symfony respecte le modle MVC et le PHP objet,
ainsi le contrleur est le chef dorchestre de lapplication. Chaque bundle a
donc son propre contrleur (cependant, il nest pas rare de trouver plusieurs
contrleurs pour un seul bundle).
Exemple du contrleur TestController :
<?PHP
namespace Test\TestBundle\Controller;
useSymfony\Bundle\FrameworkBundle\Controller\Controller;
useSymfony\Component\HttpFoundation\Response;
JHINGOOR Akram
25 janvier 2015
return $this->render(MainBundle:hello:hello.html.twig,
array(hello => $hello));
}
}
(ici, la fonction helloAction() permet de gnrer la page hello.html.twig en lui
passant la variable $hello dfinie juste avant)
Les templates :
Symfony2 inclut un moteur de templates, Twig, les vues sont donc gnres
grce ce moteur. Les vues permettent au webdesigner davoir un code plus
lisible et de scuriser les variables automatiquement.
Exemple de la vue hello.html.twig :
<!DOCTYPE html>
<html>
<head>
<title>Hello world</title>
</head>
<body>
</body>
</html>
Doctrine :
Doctrine est, contrairement Composer, intgr par dfaut dans Symfony.
Doctrine est un ORM (Object Relation Manager), son but est donc de permettre
lutilisateur de communiquer avec une base de donnes au travers dobjets
(crs grce au PHP) sans avoir besoin dcrire les requtes (requtes MySql, par
exemple). Doctrine permet aussi la cration dentits. Elles pourront tre utilises
comme objet en PHP et Doctrine se sert de ces entits pour gnrer la base de
donner automatiquement (une entit = un table dans la base de donnes).
Sources
http://symfony.com/fr/what-is-symfony
4
JHINGOOR Akram
25 janvier 2015
https://fr.wikipedia.org/wiki/Symfony
https://openclassrooms.com/courses/developpez-votre-site-web-avec-leframework-symfony2/symfony2-un-framework-php