Débuter avec CakePHP

Avant de commencer à publier des lignes et des lignes de codes ou d’astuces sur CakePHP, je souhaitais mettre les point sur les i … et surtout récapituler ici certaines choses qui vous permettront de débuter avec CakePHP.

Vous trouverez dans cet article une présentation du framework, une ligne de code qui vous montrera toute la puissance du framework ainsi que des liens vers des exemples de qualité afin de commencer à développer. Vous êtes prêt ?

Le cadre du framework

Avant tout, un peu d’histoire : CakePHP est sorti dans sa première version en 2005 et se voulait une adaptation de Ruby On Rails en PHP. En fait, CakePHP n’est pas un clone de RoR mais plutôt une transcription de certains concepts propres à RoR dans un framework PHP. On retrouve notamment l’utilisation d’une architecture Modèle/Vue/Contrôleur (MVC), du design pattern active record pour faciliter l’interaction avec la base de données ainsi qu’une fonctionnalité de « scaffolding » (échafaudage rapide) pour générer en quelques secondes toutes les pages CRUD associées aux modèles de votre base de données.

La philosophie de développement

Si l’on devait résumer CakePHP a une seule phrase, cela serait :

Des conventions plutôt que de la configuration

Et en effet, bien que un peu déroutant au début car chaque développeur a ses habitudes, le fait de se « plier » aux conventions de CakePHP (qui s’avèrent au final plutôt bonnes) permet de gagner énormément en productivité.

Ainsi, en respectant les conventions telles que détaillées sur le manuel de CakePHP vous pourrez par exemple sauvegarder un utilisateur et son profil en faisant simplement :

function add() {
	if(!empty($this->data)) {
		$this->Utilisateur->saveAll($this->data, array('validate'=>'first'));
	}
}

L’exemple ci-dessus, correspond à la partie « Contrôleur » de la page d’ajout. Lors du premier affichage de la page, aucun formulaire n’a été validé, donc on ne fait rien (de dynamique). La vue se chargera d’afficher le formulaire qui va bien. Par contre, une fois celui-ci validé, nous pouvons sauvegarder toutes nos données.

La ligne « $this->Utilisateur->saveAll(…) » (sans aucune configuration supplémentaire) se chargera de :

  • Vérifier la validité des informations et générer les erreurs adaptées. Exemple : le pseudo fait au moins 6 caractères, le mot de passe correspond à sa confirmation
  • Associer l’utilisateur (ex : pseudo, login …) à son profil (ex : nom, prénom …) en remplissant correctement la clé externe du profil avec l’id de l’utilisateur
  • Sauvegarder tout ça proprement en base de données, et renvoyer « vrai » ou « faux » pour que nous sachions si cela s’est bien passé ou non !

Sympa quand même non ? :D … J’ai écrit plus haut qu’il n’y avait besoin d’aucune configuration, mais en fait pour que cela fonctionne il faut au préalable que l’on ait créé un Modèle et une Vue. Par contre c’est tout si l’on respecte les conventions de Cake !

Un framework de RAD

Cela signifie que l’utilisation de ce framework facilite la mise en place rapide d’applications web (RAD). En effet, le fait que la logique soit séparée de l’UI permet de travailler en parallèle sur l’interface graphique et sur l’application en elle-même (et bien plus encore).

De plus, si l’on respecte les conventions et que la modélisation de la base de données de l’application est bonne, l’application sera rapidement en place … en tout cas un prototype sera disponible immédiatement.

Enfin, je souhaitais souligner le système de gestion de pages statiques de CakePHP qui permet de manière très simple d’ajouter une page statique à une application. Ceci fera l’objet d’un article à part entière, et vous poussera même à utiliser Cake pour des applications « plutôt simples » !

Par où commencer ?

Si vous avez tenu jusqu’ici c’est que vous êtes déjà suffisamment motivés pour vous lancer dans l’évaluation plus approfondie de CakePHP.

Sachez (et gardez le en tête tout au long de votre utilisation du framework) qu’une des meilleures ressources pour comprendre quelque chose est le manuel de CakePHP. Il est très complet et disponible à la base en Anglais, cependant la traduction Française avance rapidement et beaucoup de sections sont déjà traduites (je le sais bien car je fais parti des traducteurs :D ). Pour des problèmes plus ponctuelles, si vous savez lire du code PHP, référez vous à l’API de CakePHP qui est également claire et agréable à parcourir.

Enfin, voici des pages intéressantes à parcourir pour débuter :

… pour aller plus loin et rester à l’affût de nouveaux articles de qualité, jetez un œil aux blogs de ma blogoliste (entre autres !)

N’hésitez pas à commenter cette article pour toute information supplémentaire ;)

Partagez avec vos amis !
  • del.icio.us
  • Twitter
  • Tumblr
  • Facebook
  • Digg
  • LinkedIn
  • Google Bookmarks
  • email
  • Technorati
  • Wikio FR
  • Netvibes
  • RSS
If you enjoyed this post, make sure you subscribe to my RSS feed!

Tags : CakePHP, php
  • Merci pierre pour ce tuto, c'est vraiment impeccable.
    merciiiii
blog comments powered by Disqus