mai 15, 2008 at 14:47
· Filed under ailleurs, cakephp
La société CleverAge vient de publier un livre blanc sur les frameworks PHP… Symfony, Zend Framework, Code Igniter et donc Cake PHP sont passés au crible. Si le paragraphe consacré à Cake est quelque peu assassin, allant même jusqu’à mettre en cause la pérennité du framework (déduite de l’attente à rallonge de la sortie de la version 1.2), le framework obtient tout de même un moyen 65,83% à l’évaluation QSOS (Qualification et de Sélection de logiciels Open Source), à comparer aux 74% et quelques obtenus par Symfony et Zend Framework, avec une notation qui me paraît, dans le détail, assez réaliste. Au passage, comme dans le livre blanc de ma boîte paru il y a quelques temps sur le même sujet, l’auteur a l’air de penser qu’il est impossible de déroger aux conventions de nommage de cake en matière de schéma de base de données, ce qui est tout de même très faux (même si cake perd une partie de son intérêt si on l’utilise avec une base qui ne suit pas ces préceptes).
Conclusion : il est temps que la version 1.2 et la documentation associée sortent ! Ensuite, il faudra faire un peu de PR…
Livre blanc à réclamer ici.
Permalink
mai 14, 2008 at 20:02
· Filed under cakephp
Feature freeze is approaching, tickets are being closed… the release is near.
Read the post from gwoo Mariano on the Bakery to know more.
And an interesting post from Felix telling us how we can help to get this new version out soon.
Permalink
avril 1, 2008 at 10:37
· Filed under ailleurs, cakephp
Everytime I quote a new blog about cakePHP, it stops posting afterwards… I hope the guys at LoadStr keep on publishing interesting (though a bit allusive) tidbits about the way they developp for their customers with cake. Recent posts include svn, seo (well, published some weeks before mine…) and tuning the acl database tables.
Andy Dawson aka ad7six goes well beyond his previous article on the bakery containing a script to bake the whole admin views in one call with a complete set of templates, bake script helpers and controller abstract methods introducing filters in index view, amongs others. A bit too much for me, but that will surely be a good source of inspiration if you plan on personnalizing your baked templates (I do).
Permalink
mars 15, 2008 at 17:20
· Filed under cakephp, seo
(in English, for a change)
Pretty URLs
CakePHP easily produces URLS as http://www.mysite.com/post/view/456. Not too bad. But using the title of the post in the URL can slightly improve the relevancy of the link as seen by Google or other robots. For this, simply use the “Sluggable” Behaviours from Mariano Iglesias. It’s here. It helps generating string as “my-post-about-sea-and-shells” from the fields you want in your model. Very handy. A little bit of route tickering and you’ll have URLs such as http://www.mysite.com/post/view/my-post-about-sea-and-shells/
-
Router::
connect(‘/posts/:id/:slug’,
array(‘controller’ =>
‘posts’,
‘action’ =>
‘view’),
array( ‘pass’ =>
array(‘id’,
’slug’),
‘id’ =>
‘[\d]+’ ));
quick tip : if you want your content to appear in Google News, the URLs of each post must include a three digit number. So you’d better leave the id as it is (and even pad it with extra zeros).
keywords and description
Yes, these are basic concerns: it’s better if each page has its own keywords and description. It may be overlooked by some, but the Google Webmaster Tools will still consider it as a flaw if many of your pages share the same description sentence. As to keywords, they are not taken into account by most robots, but they may be used by some links directories. In CakePHP, the layout (where HTML headers and the keywords and description tags are) is shared between pages (or at least sections, depending on your design), and we can’t imagine changing layout on a per-page basis… There’s one obvious function in the HtmlHelper that can be used to add metatags to your page. Here is how:
-
// /views/news/view.php
-
echo $html->meta
( ‘description’,
$news[‘News’][‘title’].
‘ : ‘.
$text->trim
($news[‘News’][‘body’],
50),
array(‘type’ =&>
‘description’),
false);
// … code to display the news body
The last parameter indicates whether you want the generated code to appear inline or between the head tags where you have echoed the $scripts_for_layout var. By digging into the source code, I found that the method addScript from the view class is used to achieve that, using the $scripts_for_layout variable. So it can be used directly, but to me the meta method is the obvious choice (so obvious it’s not even documented for the moment in the CakePHP documentation).
title
The title of the page is very important. Setting it on a per-page basis in CakePHP is easy. You just have to set it in your action (”view” or “index”) using data from the model. The variable to set is “pageTitle”.
-
$this->pageTitle = $post[‘Post’][‘title’];
(to be continued… feel free to ad tips in the comments, of course!)
Permalink
mars 12, 2008 at 0:06
· Filed under ailleurs, cakephp
Un blog anglophone sur lequel je viens de tomber : Moving to Cake. Le point de départ est intéressant :
- 153,235 Physical Source Lines of Code
- 912 PHP Files
- 394 Classes
- 1,330 HTML Files
- Project CVS Checkout Size: 438M (includes images directories)
- 135 Database Tables
- 7 Databases
Gulp… POPnews, c’est tout petit par rapport. En revanche, ça me fait penser à un certain projet pour le boulot qui occupe correctement mes journées et dont on a pratiquement abandonné l’idée de le refaire, même avec le plus beau des frameworks… A la différence que le projet dont eux partent était tout de même codé à l’aide d’un framework maison pseudo-MVC. Je leur souhaite bien du courage… Et vous, quelle est votre expérience en matière de portage vers CakePHP d’une application existante ?
Permalink
mars 4, 2008 at 11:29
· Filed under ailleurs, cakephp
Felix Geisendörfer aka the_undefined a publié hier une petite présentation très utile concernant les derniers ajouts à la gestion des routes sous CakePHP. Il faut utiliser la dernière version du SVN pour en profiter, mais j’ai déjà pu expérimenter les bienfaits du reverse routing : en gros, quelle que soit le schéma d’URL que vous avez défini dans route.php, les liens générés dans vos views en utilisant le helper $html->link le reflèteront bien, sans besoin de mise à jour.
Permalink
février 11, 2008 at 12:17
· Filed under ailleurs, cakephp
Daniel Hofstetter aka CakeBaker a publié une version mise à jour de son composant OpenID. Elle se trouve ici avec toutes les explications.
Permalink
janvier 31, 2008 at 9:19
· Filed under cakephp, tips
Ce week-end, ma connexion internet avait quelques difficultés à se maintenir plus de quelques secondes. Du coup, j’étais un peu embêté pour consulter de manière interactive la doc de l’API (celle-ci).Dans Eclipse PDT, un bon vieux F2 vous affichera un tooltip généré à partir du commentaire format PHPdoc à propos de la méthode sur laquelle se trouve votre pointeur… quand Eclipse arrive à s’y retrouver, c’est-à-dire pas si souvent. En fouillant dans le répertoire “console” de cake, je suis tombé sur le fichier “api.php”, présent (d’après SVN) depuis le 23/05/2007 dans Cake et dont j’ignorais jusqu’à présent l’utilité. En fait, il permet d’accéder à la documentation de l’API en ligne de commande. Pour cela :
- se positionner dans le répertoire cake/console
- taper : “./cake api model -m find” (par exemple) et admirer.
Voici le mode d’emploi :
Usage: cake api [type] model [-m method]
On peut se contenter de préciser le nom de la classe, on obtient alors une liste des méthodes dont on veut accéder à la documentation. On peut mieux cibler soit en précisant directement la méthode soit en restreignant la recherche à un type de classes (behavior, model, view…). Si l’on prend la peine de documenter ses propres classes, ça peut aussi aider.

A l’instar de bake, il peut être commode de définir cette commande en tant qu’external tool (ci-dessous une configuration sommaire).

(désolé pour la présentation foireuse de ce post, il y a des choses qui m’échappent encore dans wordpress…)
Permalink
janvier 8, 2008 at 19:24
· Filed under ailleurs, cakephp
Je viens de tomber sur un blog consacré à cakePHP que je ne connaissais pas - et pour cause, il est tout récent -, tenu par Christian Winther, aka Jippi, un Danois.
Ce garçon s’est mis dans la tête de compiler chaque semaine les évènements survenus dans le monde magique de CakePHP : nouvelle version (cette semaine, ça tombe bien), principales questions sur le GoogleGroup, etc. C’est là que ça se passe. D’où on déduit que les bonnes résolutions de nouvelle année existent aussi au Danemark.
Permalink
janvier 2, 2008 at 11:18
· Filed under cakephp
Après la version dev, la version alpha, la version prebeta, voici enfin la version beta de la tant attendue deuxième mouture de CakePHP !
A télécharger par ici.
Résolutions 2008 :
- mettre à jour ce blog régulièrement
- concurremment, finir la v2 de POPnews.
Permalink