phpotes: codeigniter
DESCRIPTION
Présentation de Bernard Trévisan (bt-logiciels) sur le framework CodeIgniter. PHPotes du 8/10/13.TRANSCRIPT
Codeigniter
Un framework php pour créer des applications web
Phpotes 08/10/13Bernard Trevisan – [email protected]
2
Prétentions
• Empreinte réduite• Performances
exceptionnelles• Documentation claire et
approfondie• Large compatibilité• Pratiquement sans
configuration
• Pas de règles de codage restrictives
• Pas de langage de template à apprendre
• Simple• Rapide à mettre en
œuvre• Souple
08/10/13 Framework Codeigniter - phpotes
Framework Codeigniter - phpotes 3
Caractéristiques
• Approche MVC (modèle-vue-contrôleur)• Versions :– Beta 1.0 en février 2006 (Php 4)– 2.1.4 en juillet 2013 (Php 5.1.6 depuis janvier
2011)• Licence type Apache / BSD• Support SGBD :– MySQL (4.1+), MySQLi, MS SQL, Postgres, Oracle,
SQLite et ODBC08/10/13
Framework Codeigniter - phpotes 4
Mise en oeuvre
• Télécharger le framework– http://ellislab.com/codeigniter/download
• Décompresser dans le répertoire cible• Accéder à l’URL
08/10/13
Framework Codeigniter - phpotes 5
Fonctionnement
08/10/13
URL : http://example.com/index.php/class/function/param1/param2
Framework Codeigniter - phpotes 6
Arborescence
• application/– controllers/• welcome.php
– views/• welcome_message.php
• system/• user_guide/• licence.txt• index.php08/10/13
Framework Codeigniter - phpotes 7
Contrôleur exemple
08/10/13
Framework Codeigniter - phpotes 8
Vue exemple (extrait)
08/10/13
Framework Codeigniter - phpotes 9
Structure d’application/
• cache/– Stockage des pages mises en cache
• config/– Fichiers de configuration
• controllers/– Contrôleurs
• core/– Remplacement ou extension des classes système
08/10/13
Framework Codeigniter - phpotes 10
Structure d’application/ (suite)
• errors/– Pages d’erreur (404 …)
• helpers/– Helpers (collections de fonctions) applicatifs ou
surchargés• hook/– Points de débranchement (extension du noyau)
• language/– Ressources multilingues
08/10/13
Framework Codeigniter - phpotes 11
Structure d’application/ (suite)
• libraries/– Classes applicatives ou surchargées
• logs/– Journaux d’exécution quotidiens
• models/– Modèles
• third_party/• views/– Vues
08/10/13
Framework Codeigniter - phpotes 12
Fichiers de configuration
• autoload.php• config.php• constants.php• database.php• doctypes.php• foreign_chars.php• hooks.php• migration.php
• mimes.php• profiler.php• routes.php• smileys.php• user_agents.php
08/10/13
Framework Codeigniter - phpotes 13
Aide en ligne
08/10/13
Présentation Utilisation Référence
Framework Codeigniter - phpotes 14
Exemple de page d’aide (référence)
08/10/13
Framework Codeigniter - phpotes 15
Rubriques utilisation
• URL• contrôleurs• noms réservés• vues• modèles• helpers• bibliothèques• drivers• noyau• auto-chargement• fonctions communes
• routage• erreurs• cache• profilage• ligne de commande• multi-applications• environnements• syntaxe Php alternative• sécurité• guide de style• guide de documentation
08/10/13
Framework Codeigniter - phpotes 16
Classes système• benchmarking• calendar• cart• config• email• encryption• file uploading• form validation• FTP• HTML table• image manipulation• input• javascript• loader
• language• migration• output• pagination• security• session• trackback• template parser• typography• unit testing• URI• user agent• XML-RPC• zip encoding
08/10/13
Framework Codeigniter - phpotes 17
Drivers (classes mère et filles)
• caching– APC, file-based, memcached, dummy
• database– différentes sortes d’accès aux SGBD, dont un
« active record » simplifié• javascript– support expérimental de jquery
08/10/13
Framework Codeigniter - phpotes 18
Helpers système
• array• captcha• cookie• date• directory• download• email• file• form• HTML• inflector
• language• number• path• security• smiley• string• texte• typography• URL• XML
08/10/13
Framework Codeigniter - phpotes 19
Sécurité (optionnel)
• renommage et relocalisation des répertoires• restriction du contenu des URL• globales limitées et filtrées• filtrage XSS• form validation• échappement des données avant insertion• filtrage des noms de fichiers entrés• CSRF08/10/13
Framework Codeigniter - phpotes 20
Travail en équipe
• Pas de dispositions spécifiques pour le travail en équipe
08/10/13