CakePHP : signets remarquables du 05/04/2009 au 06/04/2009

06/04/2009  |  Publié dans cakephp

Quelques bonnes adresses CakePHP vues entre le 05/04/2009 et le 06/04/2009:

Row-level Model Access Control for CakePHP
C'est l'histoire d'un gars - le fou - qui veut gérer des droits finement, au niveau des lignes d'un modèle ! On croit rêver.
CakePHP 1.2 GROUP BY with HAVING COUNT(*) HABTM associations (limit the query based on associated data) at anomalous territory
Un petit tuto sur commetn faire des having count dans CakePHP, ça ne fait jamais de mal (je me souviens avoir bien cherché)
Authenticating a CakePHP App Against a CakePHP Webservice
Un tuto intéressant qui explique (des deux points de vue) comment permettre à une application CakePHP de s'authentifier auprès d'une autre application CakePHP fournissant le service web idoine.
Flex remoting with cakePHP
Un nouveau plugin mis à jour pour faire du Flex avec CakePHP.

Plus sur ma page delicious  CakePHP.

CakePHP : signets remarquables du 11/02/2009 au 13/02/2009

13/02/2009  |  Publié dans cakephp

Quelques bonnes adresses CakePHP vues entre le 11/02/2009 et le 13/02/2009:

Pagination des données dans une relation HABTM
Un nouveau et brillant tutoriel de Pierre-Emmanuel sur la pagination d'une relation habtm en utilisant le nouveau paramètre "joins" (qui m'avait échappé) et le paramètre "type" (qui ne m'avait pas échappé, cf mon post sur la relation belongsTo).
0DayCar: phpVideoTutorials: CakePHP 1.2 Invoicr Application (Part 1 & 2)
Pas eu le temps de regarder, mais ces tutoriels en video sur la création d'une application de facturation avec CakePHP ont l'air prometteur.
Using ApiGenerator to generate documentation | Mark Story
Mark Story revient sur son dernier bébé, l'ApiGenerator, qui est maintenant utilisé pour générer la documentation de l'API de CakePHP en lieu et place de Doxygene. Utilisable sur vos projets à condition d'avoir PHP dans une version supérieure à la 5.2.1
Commentia (Spam Blocker Behavior)
Un comportement signé Miles Johnson et qui permet de bloquer les spams de commentaires, en s'inspirant visiblement du travail de Jonathan Snook.

Plus sur ma page delicious  CakePHP.

CakePHP : signets remarquables du 20/01/2009 au 22/01/2009

22/01/2009  |  Publié dans cakephp

Quelques bonnes adresses CakePHP vues entre le 20/01/2009 et le 22/01/2009:

Testing CakePHP controllers - Mock Objects edition
Mark Story présente les Mock Objects via un exemple dans CakePHP. Simple et clair.
Exporter des données au format Excel (.xls)
Pierre-Emmanuel Fringant propose un intéressant tutoriel sur l'export de données au format Excel (oui, Excel, pas csv), en utilisant un helper fait maison (apparemment ?), là où moi, je le confesse, dégaine lourdement la plupart du temps la classe Pear Spreadsheet Writer, qui propose beaucoup de fonctionnalités pas toujours très utiles (gestion des enrichissements, gestion à peu près de l'utf-8, gestion des onglets…)
Quick Tip - Doing Ad-hoc Joins in Model::find()
Nate Abele descend dans l'arène pour nous proposer une sympathique extension à Model::find() qui permet de faire une recherche sur habtm (cas d'école : les tags). A noter que Rafael Bandeira avait également proposé une élégante contribution déjà relevée ici sur le sujet avec le Linkable Behavior.
CakePHP and a paradigm shift to a code generation based approach? | Dieter_be's spot on the web
Dieter Plaetinck revient vers CakePHP après deux ans passés à faire autre chose (mais il ne dit pas quoi). Il trouve que les choses ont bien évolué, mais que bake ne va pas encore assez loin en matière de génération de code automatique. Bon, il n'a pas foncièrement tort, en particulier sur les templates, qui pourraient effectivement généralisés aux modèles et aux contrôleurs, et plus riches pour les vues. Mais de là à hacker le core (blasphème !)… Une curiosité intéressante en tout cas.

Plus sur ma page delicious  CakePHP.

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.

Signets remarquables du 23/09/2008 au 27/09/2008

27/09/2008  |  Publié dans cakephp

Quelques bonnes adresses CakePHP vues entre le 23/09/2008 et le 27/09/2008:

CakePHP WhoIs Component
Un composant qui permet fort simplement d'obtenir les informations fournies par la commande "whois". Utilise le classe phpWhoIs.
Une ébauche de Merge behavior
Un behavior qui peut être utile. Il fusionne deux enregistrements en un troisième. A voir : comment se comporte les enregistrements liés dans d'autres tables. A priori : mal. Il y a encore eu peu de boulot.
Saving extra fields in the join table (for HABTM models) « nuts and bolts of cakephp
Une autre idée pour gérer des champs supplémentaires dans la table de liaison d'une habtm., tout simplement en créant une liaison hasMany temporaire.
Tutorial - CakePHP Ajax "Quick Save" with jQuery: CakePHP, jQuery
Un tutoriel simple et efficace pour insérer un bouton "sauvegarde rapide" sur un formulaire, qui réalise une sauvegarde en ajax et permet de continuer à éditer les champs ensuite. Petit problème à gérer en sus à mon avis : la (non-)validation.

Plus sur ma page delicious consacrée à CakePHP.

Archives

Liens au pif

  • Debuggable
  • pictures of the north country
  • Google Group CakePHP Fr
  • Mark Story
  • mes photos
  • Web Development 2
  • Julien Bourgeois
  • Le blog de Pierre
  • photos de bubu
  • Yahoo Pipe des sites CakePHP FR
  • Cakebaker
  • POPnews
  • snook.ca
  • blogcatalog
  • Formation CakePHP
  • 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