Your SlideShare is downloading. ×
PHP Tour 2012 - Conférence FuelPHP
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

PHP Tour 2012 - Conférence FuelPHP

914
views

Published on

Présentation du framework FuelPHP au PHP Tour 2012 à Nantes par l'équipe de Novius OS, CMS Open Source.

Présentation du framework FuelPHP au PHP Tour 2012 à Nantes par l'équipe de Novius OS, CMS Open Source.

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
914
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Conférence PHP Tour 2012FuelPHP : A framework, yes – Automagic, no! Julian Espérat Sébastien Drouyer Nantes 30 novembre 2012 1/25
  • 2. Sommaire Introduction Pourquoi nous aimons FuelPHP Oil : la ligne de commande Les Packages et lORM Le futur de FuelPHP Questions 2/25
  • 3. Conférenciers Sébastien Drouyer @sdrdis Julian Espérat @savageman86 3/25
  • 4. À propos de Novius Créée en 1996, basée à Lyon et Paris, 40 personnes dont 18 développeurs. Deux métiers : agence web, édition logicielle. Nos clients : Les Échos, Cinémathèque Française, FIS... Nos technos : web et libres uniquement (LAMP, HTML, CSS, JS). 4/25
  • 5. À propos de Novius OS 8 ans dexpérience dans le CMS. CMS open-source nouvelle génération, conçu pour lInternet multi-canal. Entre le CMS et le web OS. Basé sur les dernières technologies web : HTML5, jQuery UI, Wijmo et FuelPHP. 5/25
  • 6. Genèse de FuelPHP « FuelPHP est né de la frustration des développeurs avec les frameworks actuels. » 1185 watchers et 184 forks sur Github 2640 followers sur Twitter Création fin 2010 1.0 – 31 juillet 2011 1.1 – 13 décembre 2011 1.2 – 3 juin 2012 1.3 – 5 septembre 2012 1.4 – 9 novembre 2012 6/25
  • 7. Core Team de FuelPHP Harro Verton / @WanWizard Jelmer Schreuder / @jschreuder Frank de Jonge / @frankdejonge Dan Horrigan Phil Sturgeon Fondateur 7/25
  • 8. Philosophie de FuelPHP S’inspire des meilleures idées des autres frameworks Nouveau départ avec PHP 5.3 Simple, flexible et léger "community-driven" Configuration over convention – no automagic! 8/25
  • 9. Inspiration des autres frameworks Simplicité Léger et rapide Facile à apprendre Peu de dépendances serveur 9/25
  • 10. Inspiration des autres frameworks Flexibilité dans la structure des fichiers Hiérarchie des répertoires Excellent Query Builder 10/25
  • 11. Inspiration des autres frameworks Ligne de commande Migrations Scaffolding ORM (Active Record) 11/25
  • 12. Inspiration des autres frameworks HMVC / REST Templates Authentification / ACL Envoi de mail 12/25
  • 13. Sommaire Introduction Pourquoi nous aimons FuelPHP Oil : la ligne de commande Les Packages et lORM Le futur de FuelPHP Questions 13/25
  • 14. Syntaxe sexy et concise// ~/classes/controller/auth.phpclass Controller_Admin extends Controller{ public function before() { if ( ! $this->user_is_logged() ) { Response::redirect(login/form); } }}// ~/classes/controller/login.phpclass Controller_Login extends Controller{ public function action_form() { return Response::forge(View::forge(login/form)); }} 14/25
  • 15. Fichier de configuration// Stockage : ~/config/date.phpreturn array( pattern => array( short => %d/%m/%Y, full => %d/%m/%Y %H:%M, mysql => %Y-%m-%d %H:%M:%S, mysql_date => %Y-%m-%d, ),);// Usage$config = include config/date.php;// Exemplefunction strftime_pattern($date, $pattern = short){ Config::load(date); $pattern = Config::get("date.format.$pattern", %d/%m/%Y); return strftime($pattern, $date);} 15/25
  • 16. Exemples de driversnatifs Config : php, yml, json, ini Session : cookie, file, memcached, db, redis Cache : file, memcached, apc, redis Image : gd, imagick, imagemagick View : php Parser : twig, mustache, markdown, smarty, dwoo, haml, phptal 16/25
  • 17. Appels statiques et instances// Configuration : ~/config/session.phpreturn array( driver => file, // ... file => array( path => /tmp, // ... ), memcached => array(...), db => array(...), redis => array(...),);--------------------------------------------------------------// Exemple avec un appel statique$user = Session::get(user);// Exemple identique avec un appel dynamique$session = Session::forge(file); // file est le driver$user = $session->get(user); 17/25
  • 18. Sommaire Introduction Pourquoi nous aimons FuelPHP Oil : la ligne de commande Les Packages et lORM Le futur de FuelPHP Questions 18/25
  • 19. Oil : la ligne de commande FuelPHP Package et utilitaire de FuelPHP Inspiré de Ruby on Rails Philosophie : optionel, ligne de commande pour simplifier le développement 19/25
  • 20. Sommaire Introduction Pourquoi nous aimons FuelPHP Oil : la ligne de commande Les Packages et lORM Le futur de FuelPHP Questions 20/25
  • 21. Les Packages et lORM Possibilité dajouter des packages ● Tous dans fuel/packages/ ● Simple modification dans le fichier de configuration Packages installés de base ● Auth ● Email ● Oil ● Orm ● Parser 21/25
  • 22. Les Packages et lORM Orm ● Très largement inspiré dActive Record ● Gère les relations entre objets ● has_one ● belongs_to ● has_many ● many_to_many ● Gère les observers ● Comportement sur les colonnes ● CreatedAt : date de création ● UpdatedAt : date de mise à jour 22/25
  • 23. Sommaire Introduction Pourquoi nous aimons FuelPHP Oil : la ligne de commande Les Packages et lORM Le futur de FuelPHP Questions 23/25
  • 24. Futur de FuelPHP FuelPHP 2.0 : nouvelle architecture ● Changement progressif dans les versions 1.* Composer et PSR−1 Séparation des fonctionnalités dans des packages spécialisé Conditionné par sa communauté, dans un domaine concurrentiel 24/25
  • 25. Merci pour votre attention. Des questions ?http://www.fuelphp.comhttp://www.novius-os.org Sébastien Drouyer : @sdrdis Julian Espérat : @savageman86 Nantes 30 novembre 2012 25/25