Codeigniter
Un framework php pour créer des
applications web
Phpotes 08/10/13
Bernard Trevisan – trevisan.bernard@orange.fr
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 2
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 ODBC
08/10/13 Framework Codeigniter - phpotes 3
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 4
Fonctionnement
08/10/13 Framework Codeigniter - phpotes 5
URL : http://example.com/index.php/class/function/param1/param2
Arborescence
• application/
– controllers/
• welcome.php
– views/
• welcome_message.php
• system/
• user_guide/
• licence.txt
• index.php
08/10/13 Framework Codeigniter - phpotes 6
Contrôleur exemple
08/10/13 Framework Codeigniter - phpotes 7
Vue exemple (extrait)
08/10/13 Framework Codeigniter - phpotes 8
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 9
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 10
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 11
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 12
Aide en ligne
08/10/13 Framework Codeigniter - phpotes 13
Présentation Utilisation Référence
Exemple de page d’aide (référence)
08/10/13 Framework Codeigniter - phpotes 14
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 15
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 16
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 17
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 18
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
• CSRF
08/10/13 Framework Codeigniter - phpotes 19
Travail en équipe
• Pas de dispositions spécifiques pour le travail
en équipe
08/10/13 Framework Codeigniter - phpotes 20

PHPotes: Codeigniter

  • 1.
    Codeigniter Un framework phppour créer des applications web Phpotes 08/10/13 Bernard Trevisan – trevisan.bernard@orange.fr
  • 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 2
  • 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 ODBC 08/10/13 Framework Codeigniter - phpotes 3
  • 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 4
  • 5.
    Fonctionnement 08/10/13 Framework Codeigniter- phpotes 5 URL : http://example.com/index.php/class/function/param1/param2
  • 6.
    Arborescence • application/ – controllers/ •welcome.php – views/ • welcome_message.php • system/ • user_guide/ • licence.txt • index.php 08/10/13 Framework Codeigniter - phpotes 6
  • 7.
  • 8.
    Vue exemple (extrait) 08/10/13Framework Codeigniter - phpotes 8
  • 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 9
  • 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 10
  • 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 11
  • 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 12
  • 13.
    Aide en ligne 08/10/13Framework Codeigniter - phpotes 13 Présentation Utilisation Référence
  • 14.
    Exemple de paged’aide (référence) 08/10/13 Framework Codeigniter - phpotes 14
  • 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 15
  • 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 16
  • 17.
    Drivers (classes mèreet 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 17
  • 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 18
  • 19.
    Sécurité (optionnel) • renommageet 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 • CSRF 08/10/13 Framework Codeigniter - phpotes 19
  • 20.
    Travail en équipe •Pas de dispositions spécifiques pour le travail en équipe 08/10/13 Framework Codeigniter - phpotes 20