Archive pour décembre 2008

CakePHP : signets remarquables du 23/12/2008 au 30/12/2008

30/12/2008  |  Publié dans cakephp

Quelques bonnes adresses CakePHP vues entre le 23/12/2008 et le 30/12/2008:

RowObjectBehavior Row Data Gateway implementation
Un des reproches qu'on fait souvent à CakePHP est que la classe Model travaille essentiellement avec des tableaux, et non avec des objets. C'est un choix de conception, vous diront les développeurs du noyau. Plutôt que de râler, Anton aka Freenity propose sur la Bakery une implémentation du pattern Row Data Gateway, sous la forme d'un comportement.
cakealot
Un nouveau blog sur CakePHP, par un Allemand nommé Kjell. C'est en anglais.
CakePHP Digest Volume #4
Quatrième édition du CakePHP digest avec un Matt Curry très en forme à la plume. L'attention est portée sur la sortie de la version 1.2 tant attendue, mais il y aussi l'annonce en exclusivité de la date de sortie de la version 1.3, et une mention d'un nouvel épisode du podcast consacré à CakePHP ("The Show") que je ne pense jamais à écouter.
.8 Reasons to hate CakePHP :: PseudoCoder.com
A.J. Brown a posté sur son blog un article assez critique sur CakePHP. Matt Curry ne lui donne pas tort à tous les coups, mais démonte la plupart de ses arguments avec un certain humour… Rigolo.

Plus sur ma page delicious  CakePHP.

Christmas Pudding

26/12/2008  |  Publié dans cakephp

Ça y est, enfin ! Après exactement deux ans - la première mouture de la version 1.2 datait du 25 décembre 2006 - la version finale est sortie. C’est Gwoo qui annonce la bonne nouvelle au nom de toute l’équipe ici. Petits cadeaux qui font plaisir en plus : une cheatsheat mise à jour et de nouvelles versions du DebugKit et du très pratique plug in pour TextMate (le tout est disponible dans la section downloads du site officiel).
Joyeux Noël !

Has not and belongs to many

24/12/2008  |  Publié dans cakephp

Bon, donc, j’ai une table “articles”, une table “tags”, une table de liaison entre les deux (”articles_tags”, avec ses rituels champs “article_id” et “tag_id”) et je voudrais, par curiosité malsaine sans doute, savoir quels sont les articles qui ne sont associés à aucun tag (pour leur en associer au moins un, par charité probablement).

En SQL “à la main”, ça donnerait ça :

SELECT * FROM `articles` as `Article` WHERE NOT EXISTS (SELECT * FROM `articles_tags` as `ArticlesTag` WHERE `ArticlesTag `.`article_id`= `Article `.`id`)

Je ne pense pas qu’il soit possible de reproduire exactement cette requête avec les méthodes magiques de CakePHP.

Donc je suis parti sur une version un peu détournée :

SELECT * FROM `articles` as `Article` LEFT JOIN `articles_posts` as `ArticlesTag` ON `ArticlesTag`.`article_id`= `Article `.`id` WHERE `ArticlesTag`.`article_id` IS NULL

Hum.

Retranscrit en CakePHP, dans une méthode de mon modèle Article, ça donne quelque chose comme ça :

$this->bindModel(array(’hasOne’ => array(’ArticlesTag’)));
$conditions = array(’ArticlesTag.artist_id IS NULL’);
$contain = array(’ArticlesTag’); // pas besoin de toutes les autres tables
$fields = array(’Article.id’, ‘Article.title’); // les champs dont on a besoin
$params = compact(’contain’, ‘conditions’, ‘fields’);
debug($this->find(’all’, $params));

Vous avez mieux ? je suis preneur…

Dans la série “jouons avec les habtm”, en un peu plus élaboré, je vous invite également à lire ce post de teknoid.

CakePHP : signets remarquables du 18/12/2008 au 23/12/2008

23/12/2008  |  Publié dans cakephp

Quelques bonnes adresses CakePHP vues entre le 18/12/2008 et le 23/12/2008:

@TheKeyboard Online Store
Un peu tard pour commander au Père Noël un t-shirt "You cannot escape the Framework Apocalypse" ? En tout cas l'idée est marrante.
Revision Behavior - Revision control made easy (Articles) | The Bakery, Everything CakePHP
Un comportement permettant de gérer le versioning, sur la bakery.
Testing CakePHP Controllers the hard way
Mark Story nous présente comment tester des contrôleurs en mettant les mains dans le cambouis.
Gérer un retour vers la page précédente : Controller::referer()
Pierre Martin nous explique comment faire un bon usage de la méthode Controller::referer().

Plus sur ma page delicious  CakePHP.

CakePHP RC4

19/12/2008  |  Publié dans cakephp

Bon, on le sentait venir depuis quelques temps, on espérait la version définitive, mais c’est finalement une sage version “Release Candidate 4″ qui est disponible depuis cette nuit. On se rapproche toutefois… Plus de 300 corrections et plus de test. L’annonce est ici et la liste des modificiations .

CakePHP : signets remarquables du 11/12/2008 au 17/12/2008

17/12/2008  |  Publié dans cakephp

Quelques bonnes adresses CakePHP vues entre le 11/12/2008 et le 17/12/2008:

Eviter les requestAction dans le layout
Pierre-Emmanuel Fringant revient avec un très didactique tutoriel qui explique comment remplacer ces lourds et vieux requestAction dans le layout par l’approche “Fat Models, skinny Controllers” chère à nos amis anglo-saxons.
How to build a “dashboard” for your application in CakePHP « nuts and bolts of cakephp
Dans le même style que Pierre-Emmanuel mais un peu moins complet, un bon exemple d’application de l’approche “Fat models, skinny controllers” par teknoid pour réaliser un tableau de bord sans passer par la case requestAction (et sans toucher 20 000 francs).
CakePHP Digest Volume #3
Matt Curry reprend les revues de synthèse CakePHP là où Christian Winther les avait laissées (au numéro 3). C’est intéressant et teinté d’humour, on espère qu’il n’arrêtera pas à la numéro 6.
Unit Testing : CakeFest Argentina
Après avoir consciencieusement blogué en direct de Buenos Aires pendant toute la durée de la manifestation, Mark Story est le premier (à ma connaissance) des intervenants à mettre en ligne sa présentation. Qu’il soit remercié. Et imité ! C’est un beau PDF de 106 slides, qui fut présenté en deux sessions, et qui cause des tests unitaires.

Plus sur ma page delicious  CakePHP.

CakePHP : signets remarquables du 29/11/2008 au 10/12/2008

10/12/2008  |  Publié dans cakephp

Quelques bonnes adresses CakePHP vues entre le 29/11/2008 et le 10/12/2008:

Voiles et Voiliers
Un portail et site communautaire réalisé sous CakePHP par un membre de la communauté française de CakePHP dans le cadre de son travail. Pas une usine à gaz, une usine à voile ;-). Comme quoi ça existe, les sites sous CakePHP(bis).
Accueil - Forum INSA Entreprises 2008
Un site réalisé sous CakePHP par Pierre Martin. Comme quoi ça existe, les sites sous CakePHP.
List of CakePHP related articles, best practices and advice from the experts behind CakePHP Cake Development Corporation
Cake DC (ou Cake Development Corporation), c'est l'entité commerciale composée de certains développeurs du noyau de CakePHP. Ils lancent leur blog à l'occasion de CakeFest, avec une couverture sommaire mais en direct des conférences. En attendant, je l'espère, mieux et plus, car certains sujets semblent fort intéressants.
Runtime Config in CakePHP apps
Neil Crookes expose sa méthode pour distinguer automatiquement environnements de production ou de développement, et configurer son application en conséquence.

Plus sur ma page delicious  CakePHP.

Archives

Liens au pif

  • POPnews
  • blogcatalog
  • Cakebaker
  • Formation CakePHP
  • Frédéric de Villamil
  • snook.ca
  • photos de bubu
  • Yahoo Pipe des sites CakePHP FR
  • Web Development 2
  • Debuggable
  • Le blog de Pierre
  • Google Group CakePHP Fr
  • Pseudocoder
  • mes photos
  • Mark Story
  • Derniers commentaires

    • Guillaume: Merci pour cette précision, Pierre, je vais aller voir ça.
    • Pierre Martin: Bonjour Guillaume, et merci encore une fois pourle lien vers mon article ! Juste...
    • Guillaume: De loin, on ne voyait pas très bien :)
    • Gabriiiel: Roy nous a remis un trophée… :D
    • Pierre MARTIN: Il y a aussi cet article de teknoid contenant un lien vers un plugin de recherche...
  • Derniers trackbacks