2008年05月30日

うーん。

みなさんはこれをどう評価します?

Google Trends - Trend history in Japan

trend2008.PNG



ラベル:cakephp
posted by SDozono at 14:56| 東京 🌁| Comment(0) | TrackBack(0) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする

2008年05月26日

Ticket大片付け

あんなに山ほどあったTicketがみんな片付いている!

https://trac.cakephp.org/report/1

お疲れ様です。
ラベル:cakephp
posted by SDozono at 13:57| 東京 ☀| Comment(0) | TrackBack(0) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする

2008年05月25日

DBマイグレーションか、DBスキーマシステムか

CakePHPのメーリングリストで熱い議論がかわされていたので参考まで。

Is migrations support planned for Cake?
http://groups.google.com.ar/group/cake-php/browse_thread/thread/1bde4426444fda5c/

ちなみに、下記のブログで言及されていたので知りました。
Juanfgs’s Blog
Rails Migrations vs CakePHP Schemas
http://juanfgs.wordpress.com/2008/05/23/rails-migrations-vs-cakephp-schemas/

migrationあたりの経緯を書いておくと、

1)まず、CakePHPには最初migrationのようなものが標準では存在しなかった。
2)Joelmossが個人プロジェクトとして、PHPマイグレーションを作り始めた。
(CakePHP migration)
3)しかし、YAMLを使用。PEARに依存、などの仕様のため、CakePHPのコア開発チームからは非公認のままだった。
4)CakePHP 1.2 で schemaタスクが開発される。
5)Joelmossのmigrationが、YAML以外にも、PHP配列でのデータ形式に対応、PEARに非依存にする作業中。

(今、このあたり。)

というところです。で、このMLでは、"マイグレーションとスキーマシステム、どっちがいいの?"という議論が交わされています。

Dr. Tarique Sani(CheeseCakeプロジェクト主宰)は、「それはオレンジとリンゴを比べているようなもので、コンセプト自体が違うということでいいんじゃないか」と言ってまとめようとしています。

簡単に言うと、

migration: 変更情報を差分として記録してゆく
schema: その時点でのDB構造のスナップショットを記録してゆく

というもので、migrationが嫌い(schema万歳)派の、「DB構造を変えるたびにいちいちコードを書くのが面倒だ」という意見も分からないでもないです。特にphpMyAdminを使っている場合などは、DBの変更が快適にできてしまいますからね。phpMyAdminが変更履歴一覧みたいなものを出力してくれてもいいかもですね。

ちなみに私は今のところ、SQLyogのエンタープライズ版で満足してしまっています。

www.webyog.com

Structure Synchronization toolが便利すぎなんですよ。phpMyAdminと組み合わせると、違うホストのDB構造を数クリックでシンクロナイズできます。データのシンクロナイズも“おそらく”うまくゆくと思います。しばらく前まではPHPのトンネル用ファイルに手を加えていましたが。
このツール、最初の頃は多言語対応化について結構、口を出したり開発にちゃちゃを入れたりしていたんですが、そのうち、使える機能だけ使えばいいか、という気になって、そういう使い方をしているツールです。日本語では100%の動作を期待しなくてもいい、という人は便利に使えると思います。
ラベル:cakephp SCHEMA migration
posted by SDozono at 10:23| 東京 ☔| Comment(0) | TrackBack(1) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする

2008年05月21日

検索データの文字コード変換

1.2からは、“直接findされているのか、アソシエーションで芋づるfindされているのか”をafterFindの第二引数でチェックできます。なので、app_model内にこんなコードを書くと、アソシエーションでひっぱってきたデータまで一括でデータの文字コードを変換できます。(文字コードを2回変換しないようにしています。)


function esc2utf8(&$val,$key) {
$val = mb_convert_encoding($val,"UTF-8","EUCJP-win");
}

function afterFind($results, $primary){
if($primary){
array_walk_recursive($results,array($this,'esc2utf8'));
}
return $results;
}


1.1では一工夫しないといけなかったのが、1.2では簡単にできるようになっていました。
ラベル:cakephp Model
posted by SDozono at 12:33| 東京 ☁| Comment(0) | TrackBack(0) | CakePHP Model | このブログの読者になる | 更新情報をチェックする

2008年05月20日

そういえば、Viewについてはあまり語られていない

そういえば、だれもViewクラスについてはあまり多くを語っていませんね。$this->set()でビューにデータを送る以外は、単なるhtmlなんじゃないの?という声も聞こえてきそうです。

しかし、1.1のViewのコンストラクタにはこんなコードが入っていました。


function __construct(&$controller) {
if(is_object($controller)){
$this->controller =& $controller;
$this->_viewVars = $this->controller->_viewVars;
$this->action = $this->controller->action;
$this->autoLayout = $this->controller->autoLayout;
$this->autoRender = $this->controller->autoRender;
$this->base = $this->controller->base;
$this->webroot = $this->controller->webroot;
$this->helpers = $this->controller->helpers;
$this->here = $this->controller->here;
$this->layout = $this->controller->layout;
$this->modelNames = $this->controller->modelNames;
$this->name = $this->controller->name;
$this->pageTitle = $this->controller->pageTitle;
$this->viewPath = $this->controller->viewPath;
$this->params = $this->controller->params;
$this->data = $this->controller->data;
$this->webservices = $this->controller->webservices;
$this->plugin = $this->controller->plugin;
}
parent::__construct();
}


1.2では配列で設定されています。


var $__passedVars = array('viewVars', 'action', 'autoLayout', 'autoRender', 'ext', 'base', 'webroot', 'helpers', 'here', 'layout', 'name', 'pageTitle', 'layoutPath', 'viewPath', 'params', 'data', 'webservices', 'plugin', 'passedArgs', 'cacheAction');

$count = count($this->__passedVars);
for ($j = 0; $j < $count; $j++) {
$var = $this->__passedVars[$j];
$this->{$var} = $controller->{$var};
}



ViewのHTMLの中でも、かなりのデータにアクセスできます。うまく活用できるとなかなか便利ですね。
ラベル:cakephp view
posted by SDozono at 14:03| 東京 ☔| Comment(0) | TrackBack(0) | CakePHP View | このブログの読者になる | 更新情報をチェックする

2008年05月19日

wildflower

お、これはいいかも。

Wildflower - CakePHP CMS
Content management system and application platform build on CakePHP framework and jQuery Javascript library.
http://wf.klevo.sk/


とりあえずダウンロードしてコードを見ただけですが、単なるたたき台としてではなく、実際に使えるコードがいろいろ入っているみたいです。
ラベル:cakephp CMS
posted by SDozono at 10:22| 東京 🌁| Comment(4) | TrackBack(0) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする

2008年05月16日

CakePHPでRESTful

CakePHP 1.1でのRESTfulは下記に記事がありました。

RESTful Web Services With CakePHP
http://bakery.cakephp.org/articles/view/150

今回、1.2のRouterでRESTを扱う方法が、php|architect's C7Yに投稿されています。

REST and Resource Handling with CakePHP
by Nate Abele (2008-05-14)
http://c7y.phparch.com/c/entry/1/art,cakephp-rest

ちなみに、現在のCakePHPリードデベロッパーによる執筆です。

https://trac.cakephp.org/timeline
を見ると分かりますが、今は、みんなが「よってたかって」1.2のリリースのためにがしがしとTicketを整理中です。

私はというと、自分の仕事をがしがしとこなしています。
Cakeを使うほうで手一杯になってしまっていますが、本当は book.cakephp.org の訳を進めるのが自分の役割かなぁとも思っています。ただ、量がずいぶんありますので、われこそはと思う日本語ユーザは、book.cakephp.orgの翻訳で貢献してください!!
posted by SDozono at 10:15| 東京 🌁| Comment(0) | TrackBack(0) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする

2008年05月08日

FormHelperとCSS

CakePHP1.2のスタイルシートには最初からフォームデザイン部分のcssが入っていますが、iPodなどで表示させるには便利でも、実際にたくさんのデータを入力するにはちょっと…というデザインだと思います。実際に使用する時には、「ラベルが左側で入力テキストボックスが右側に同じ行内に並ぶ」ようなデザインも使いたいのではないでしょうか。

思い通りの位置に表示させるには、cssのパラメータに関する知識が必要です。

このあたりをうまく説明してくれる何かがないかな、と思っていたところ、こんなサイトを見つけました。以前に、CakePHPのgooglegroupで話題になっていたサイトです。

CSS-Only, Table-less Forms
http://jeffhowden.com/code/css/forms/

ここにあるデザインとCakePHPのFormHelperの出力するタグ類は、考え方がほぼ一緒です。

divがあって、labelがあって、inputがあって、最後に/divでくくる、という流れでデザインされています。

なので、cake.generic.css の form部分を、そっくり上記のサイトのデザインで変更してみると、なかなか勉強になります。

form div {
clear: left;
}

form div label {
float: left;
width: 130px;
padding: 3px 5px;
margin: 0 0 5px 0;
text-align: right;
}

などの部分がキモのようです。
ラベル:cakephp CSS
posted by SDozono at 14:43| 東京 ☀| Comment(0) | TrackBack(0) | CakePHP template | このブログの読者になる | 更新情報をチェックする

かすった

"Ruby on Rails"じゃなくて、"rails"とかでも調べないといけないんじゃないの、とか異論はいろいろあると思いますが、“とりあえず”かすったみたいなので記念に。全体的な流れとしては、PHPフレームワークがじわじわ伸びています。

20080508trend.PNG

ラベル:cakephp ruby on rails
posted by SDozono at 09:58| 東京 ☀| Comment(0) | TrackBack(0) | PHP Framework | このブログの読者になる | 更新情報をチェックする

2008年05月07日

First Official CakePHP Book(英語)

“CakePHP in Action”という、Duane O'Brienの書籍が、いつの間にか、英語初のオフィシャルCakePHPブックになることになったそうです。“CakePHP in Action: The Official Guide is officially endorsed and technically validated by the Cake Software Foundation.”とあります。

ちなみに、IBMサイトでの記事をいくつも書いているのがこの人です。

http://www.manning.com/obrien/

書籍としての印刷は2008年11月。Ebookとしてはすでに部分的に読めるようになっており、27ドルです。
posted by SDozono at 22:55| 東京 ☀| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。