2007年01月06日

コード8000行のPHP商用ツールをCakePHPフレームワークに移植!

大手も利用しているというスライドショー管理ツールを、CakePHP用に書き直したてんまつがまとめられた記事です。

Baking with CakePHP
http://blog.bradleyboy.com/2007/01/05/baking-with-cakephp/

このスライドショー自体はFlashでできているそうですが、なんでも、ESPNや、Rolling StoneThe New York Timesでも使われているそうです。

この方、仕事の片手間に書いたSlideShowPro Directorのコードが 8000行近くになり、メンテナンスのことも考えてフレームワークの利用を決意したそうです。

なぜCakePHPにしたのか、という理由ですが、

So, my focus sharpened to the growing list of PHP frameworks available. CakePHP stood out for two reasons. One, it was initially built as “Rails for PHP”, and although much has changed since then, it was easy to get up on my feet without having to relearn terminology and best practices. Second (and this was huge), CakePHP works on both PHP 4 (4.3.2+) and PHP 5 while most other PHP frameworks support only PHP 5. Just as a switch to Rails would have cost us sales in droves, so would suddenly limiting our target platforms to those who only had PHP 5. By my very non-scientific observations, I would say two-thirds of our customers are still on some flavor of PHP 4.

と書いています。すでに多くの顧客がいて、そのサーバはPHP4もあればPHP5もある、PHP4のユーザを切り捨てるわけにはいかないし、今だっておよそ3分の2の顧客はPHP4を使っている、ということが理由でした。既存客のニーズを満たすためにはPHP4にも対応していなければなりませんね。

結果として、自前で書いた 8000 行のコードは、フレームワークを使うことによって、2000行をメンテナンスするだけでよくなり、"75% reduction in MLOC"という結果になったそうです。

結論として、

In the end, we are more than pleased with the decision to go with CakePHP. We only had to change one minor requirement that affected less than 1% of our user base, before we had only required PHP 4.3.0 and now we require 4.3.2. Director still works on Linux, Unix, Mac or Windows servers. Being able to hit all those deployment targets without forking the code was a big accomplishment in my eyes

と書かれています。

この記事から分かることは、新規案件のみならず、既存のコードが多くなりすぎてメンテナンスしにくくなっているプロジェクトに対しても、フレームワーク上に載せる開発作業には大きなメリットがある、ということ、すでに商用アプリケーションレベルのものに対しても実績が出来ている、ということです。

あなたのプロジェクトは、大きくなりすぎて身動きが取れなくなっていませんか……。(^_^)
ラベル:cakephp SlideShowPro
posted by SDozono at 11:28| 東京 ☔| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

インターナショナルPHPマガジンでのフレームワーク人気調査

何回か開催されているPHPフレームワーク人気調査。
「最高のPHP MVCフレームワークはどれですか?」というアンケートです。
Zend Framework はありませんね。MVCフレームワークではない、ということでしょうか。

International PHP マガジン記事

リストはこちら。
poll.PNG

現在のところの結果はこんなになってしまっています。
pollresult.PNG

Cakeを使う人たちで盛り上がってしまった、ということでしょうか。
それとも本当に……。

*日曜日の時点で、CakePHPが80%、Symfonyが20%という結果になっています。時の移りかわりは早い!ですね。*

Mixi比較Railsとの比較も面白いですね。)
ラベル:cakephp symfony
posted by SDozono at 10:10| 東京 ☔| Comment(0) | TrackBack(0) | PHP Framework | このブログの読者になる | 更新情報をチェックする

2007年01月04日

Windows上のXAMPP構成で bake.php を使う場合

そういえば、Windows上の XAMPP の上で bake.php を使ったことがありませんでした。(これまではApacheとMYSQLを個別にインストールしていました。)今回、マシンを新しくしたので、Apache,MYSQL,PHPをまとめてXAMPPでインストールしてみました。

XAMPPのインストールの説明記事など。
http://phpspot.net/php/pgXAMPP.html

でも、考えてみるとXAMPPの場合には、PHPのパスがかなり深いところにあることになり、DOSプロンプトから bake.phpを実行させるのは結構めんどうです。

以下は、bake.php を簡単に使えるようにするための Tips です。

【1】エクスプローラから右クリックで「DOSプロンプト」を出す

これは、「窓の手」で簡単に設定できます。

「窓の手」公式サイト
http://www.asahi-net.or.jp/~vr4m-ikw/
こちらからダウンロードし、実行してみます。
[右クリックメニュー]というタブをあけると、「任意のフォルダーからコマンドプロンプトを可能にする」というところがありますので、ここにチェックを入れます。
[設定反映]を押せばそれで設定完了。次回以降、エクスプローラを立ち上げると、右クリックでDOSプロンプトが出るようになっています。

でもこれだけではだめです。CLI版(DOSプロンプトから実行させるためのPHP.exe)を呼べるようにしなければなりません。

【2】環境変数PATHにphp.exe のパスを登録してしまう。

[スタート]→[コントロールパネル]→[システム]→[詳細設定]→[環境変数]と進みます。
[システム環境変数]というところを見てゆくと、Pathという変数が見つかります。これを選択して、[編集]ボタンを押してください。

そして、この行の最後に、

;c:\Program Files\xampp\php

と追加します。(インストール先を変更した場合にはそのパスを登録)[OK]を押して終わりです。

これで設定は終わりです。【1】も【2】も、再起動などは特に必要ないと思います。コマンドラインから実行するPHPファイルのある任意のフォルダで、DOSプロンプトを開いてみてください。

>php -v
とやって、PHPのバージョン情報が表示されたら無事に設定がすんでいます。

bake.phpのあるフォルダに行って、そこから実行させることが可能になります。
ラベル:cakephp xampp bake.php
posted by SDozono at 20:57| 東京 ☁| Comment(0) | TrackBack(1) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする

CakePHPフレームワークによる大型予約サイト

SymfonyにはYahooブックマークサイト、という大きな採用事例がありますが、CakePHPにもそんな事例が増えつつあります。

Cruise Holidays Website
クルーザー乗船予約サイト
http://bakery.cakephp.org/articles/view/196

・クルーザーは1900名まで乗船可能。
・クルーザーは2隻。1年に125回程度のクルーズ。

そのサイトはこちら:
http://www.islandcruises.com/

・データベーステーブル数は 105。
・unbindmodel() を使うまでは、die(pr()); 1回で80MBのデータになった。
・bake.php を使うことにより、50画面を半日程度で作成することができた。

商用サイトの事例としてはこれまでで、いちばん大きいものかもしれません。

ついでにまとめると、

Cakeで作成された企業サイト・その他
*今後も、このページにまとめてゆくことにしました。*

**** Japanese Site(日本語サイト)***********

http://www.treknavi.com/ 地図作成・公開・共有サイト
開発記事(mixi)

http://mifo.jp/ オンライン名刺管理(MOONGIFTさん)
開発記事:こちら

http://www.yakuzaishi-kyujin.com/ 薬剤師求人サイト
開発記事:こちら
「テーブル数60個くらい」だそうです。

http://tsura.jp/home/ つらつら αテスト
「シンプルなツールを集めたサイト」になる予定だそうです。
開発記事:こちら

http://ds-family.com/
個人による「ニンテンドーDSコミュニティサイト」だそうです。
************************************

だれかがどこかにリストを作るだろうな〜ぁと思っていたら、できました。(2007/3/15)
http://groups.google.com/group/cake-php/web/cake-apps-sites-in-the-wild?hl=en

http://idiomag.com/ バーチャルマガジン
http://www.lifeagora.com/ 学生用仕事求人
http://www.getbasil.com/ アクセス解析ソフト(有料)
http://www.trailermole.com/ 映画とYouTubeマッシュアップ
などもCakePHP謹製らしいです。

http://www.islandcruises.com/ クルーザー予約サイト
開発記事: http://bakery.cakephp.org/articles/view/196

http://www.dishola.com/ Web 2.0 レストランガイドサイト
開発記事: http://ajaxian.com/archives/dishola-web-20-restaurant-guide
すでに1.2でlaunchした模様。

http://slideshowpro.net/product_sspdir.php SlideShowPro Director
ESPNやNY TimesやRolling Stoneサイトも使っているというスライドソフトの管理ツール
開発記事: http://blog.bradleyboy.com/2007/01/05/baking-with-cakephp/

http://preview.addons.mozilla.org/ja/ FireFox で有名なMozillaサイト
RSSフィードの generator を見てみましょう。
http://cakephp.seesaa.net/article/31425210.html

http://www.belacena.com/ YouTube型サイト(ポルトガル語)
開発記事:http://defaultbreak.com/blog/index.php/2007/01/28/bela-cena/

http://www.blogitive.com/ ブログ・アフィリエイトサイト
開発記事:http://blog.usweb.com/archives/phps-answer-to-ruby-on-rails-cakephp/

http://pewterreport.com/ アメフト雑誌サイト

http://lov.li/ SNS アートマーケットコミュニティサイト
開発報告: http://groups-beta.google.com/group/cake-php/browse_thread/thread/a886f31f66e302a4

http://www.sony.com/xplod  SONYの宣伝サイト

http://amoo.org/       ShortURLサービス

http://wingsbirds.com/    バードウォッチング

http://mariposa-gift.com/  結婚ギフトサイト

http://myfivethings.com/   自分のトップ5を登録できるサイト。mod_rewriteを使っていません。URLの動きを見るとCakeでしょう。del.icio.us経由の情報。

http://www.menumag.bg/ お菓子雑誌?サイト。ブルガリア語

http://www.inbeatstore.com/ レコード(!?)ショップ
開発記事

http://www.tripsbytips.com/ これから始まる旅行サイト

http://cheesecake-photoblog.org/ 写真ブログソフト「チーズケーキ」プロジェクト

http://www.bakesalehq.com/ ショッピングカートプロジェクト。
採用事例:http://forum.bakesalehq.com/viewforum.php?id=2

http://www.fileshifter.se/en/index.html ファイル共有サービス
開発記事:http://cakebaker.42dh.com/cakephp-projects/

http://www.applephotographic.com/ ウェディングフォト・顧客サービスサイト

http://www.textlinkbrokers.com/ サーチエンジンランキングサイト?

http://www.ocean-internet.co.uk/about?menu_id=10&menu_title=Main CakeForgeに登録されている OceanCMS はここが作っている?

http://lloydhome.com/ オープンデザインを使ってviewを作ってますね。

http://www.kkonieczny.pl/ 運送会社サイト

http://www.runningshopaz.com/ シューズショップサイト

http://txpmanual.com/    CMSのTextpatternのマニュアルサイト

http://www.neubauladen.com/ デザイン販売サイト

http://www.mattjonesphotography.com/ 写真家WEBサイト

http://www.chattypet.com/ ペットサイト

http://www.glicksmanlaw.com/ 法律家サイト。Cakeのfaviconが…

http://www.fantasylife.net/ う〜ん。まだよく分からないSNSサイト

http://adjrs.com/ 広告コミュニティサイト

*スペイン語サイト(同一人物)*
http://www.jihnos.com/
http://www.arma-vision.com/
http://www.queremosfiesta.com/

*ポルトガル語サイト*
http://www.guiapousoalegre.com.br/
http://www.guiaitajuba.com.br/
開発記事:http://danilomiguel.net/um-desafio-vencido-e-por-vencer/

*フランス語サイト*
フランス語ポータル http://www.cakephp-fr.org/

*その他*
CakePHP APIについて、php.net のようにコメントできるようにしたサイト
http://docs.cakephp.nu/

*Cakebakerさんのサイトにも追加情報が。*
http://cakebaker.42dh.com/cakephp-projects/

*入れるの忘れてた。Cakeで運用しているブログ*
nate's blog(リードデベロッパー)
http://cake.insertdesignhere.com/
gwoo's blog(リードデベロッパー)
http://rd11.com/
Andy Dawson aka AD7six
http://www.noswad.me.uk/
H3RALD
http://www.h3rald.com/


(もちろん、
http://cakephp.org もそうです。また、
http://irc.cakephp.org/cakephp/ CakePHP IRC ログサイト
http://bakery.cakephp.org CakePHP技術記事投稿サイト
などはCakePHPで作成されており、コードも公開されています。)

なお、日本語でCakePHPによるサイト構築を希望される企業様は、
http://www.cba-japan.com
のほうまでお問い合わせください。
現在は作業スケジュールがいっぱいの状態ですが、場合によってはお引き受けできるかもしれません。(これまでなかったようなWEBアプリケーションの作成に燃えている会社です。)

wiki.cakephp.org はついにアクセスできなくなりましたね……。
posted by SDozono at 13:08| 東京 ☀| Comment(3) | TrackBack(3) | CakePHP General | このブログの読者になる | 更新情報をチェックする

2007年01月03日

PHPベンチマーク

比べてもあまり意味がない(という意見も多い)フレームワーク別ベンチマークテスト 2007が公開されています。

New Year’s Benchmarks
http://paul-m-jones.com/blog/?p=238

キャッシュを効かせたらどうなるの?とか、正規化したテーブルを複数利用する場合にはコード量も変わってくるんじゃないの?とか、そもそもフレームワークは単なるスピードだけじゃないよね、とか色々な疑問が出てくるのであまり深くはつっこみませんが、Cakeに限っていえば、バージョンが上がるにつれて、確実にスピードが上がっていることが見て取れます。

framework  avg
cake-1.1.10 85.76
cake-1.1.11 113.72
cake-1.1.12 114.39

これは、モデルが増えるとさらに顕著になるはずです。

Cakeのフレームワークの設計方法として、「安定して動くようになったら最適化する」というフローになっているようなので、1.1系はもう安定版として最後の段階に入っていると言えます。
posted by SDozono at 16:50| 東京 ☀| Comment(0) | TrackBack(0) | PHP Framework | このブログの読者になる | 更新情報をチェックする

2007年01月02日

CakePHPフレームワークの1年

このブログの親ブログにCakePHPについて投稿したのが2005年11月29日。

勢いがあります。CakePHP フレームワーク
http://douzo.seesaa.net/article/9963080.html

それから1年経過し、フレームワークに関しては面白い出来事がいろいろ起こった時期だったなぁと思い返しています。

下記にもこの1年を振り返っているブログがありますが、
http://cakebaker.42dh.com/2006/12/29/cakebaker-is-one-year-old/
CakePHPに関しては次のようにまとめています。

CakePHP Google グループは1000人に達していなかったのが、今では 3,500人のメンバーに膨れ上がった。
IRC チャンネルの平均メンバーは、20人から90人〜100人に。
マニュアルが完成
CakePHPの技術情報(投稿)サイト bakery が始まる。
CakeForgeで30以上のCakePHPプロジェクトが始まる。
約1800のチケット(バグ報告、機能提案)が作成される
CakePHPのブログ・サイトが幾つも始まる


Windows上でもうまく走るようになったのと、mod_rewriteあたりがきっちり整備されたあたりから急激にユーザが増え、SymfonyやZend Frameworkを抑えてGoogleトレンドで優勢になってきました。

日本でも cakephp.jp には現在91名がユーザとして登録しています。今年あたり、200人くらい増えるでしょうか……。また、インストールの説明の閲覧回数はあともう少しで3000回に近づこうとしています。

今年あたり、CakePHP本が日本語で出てもよいと思うのですが、出版社の皆さまはどう思われますか?(^.^)

私個人としても、もう少しCakePHPを追いかけて日本語WEB開発の世界で浸透するよう尽力していきたいと思っていますが、気になっている次の技術などもあったりします……。
ラベル:cakephp
posted by SDozono at 11:42| 東京 ☀| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

2007年01月01日

rails2cake

うーん。風呂場で浮かんできた。

Ruby2php はまだない。
でも、Ruby2C はもう始まっている。
http://rubyforge.org/projects/ruby2c/
c2php というプロジェクトもある。
http://sourceforge.net/projects/c2php/

だから、
ruby2php も時間の問題でだれかが作るだろう。

すると次は、

rails2cake があればいい。
そうすれば、開発はRailsで、運用する時にはレンタルサーバで、なんていうことも現実になる。

こんな記事を読んだからかもしれません。

CakePHPで作りなおした
http://prototype-game.blogspot.com/2006/12/cakephp.html
ジャンケンのパフォーマンスが悪い……今のレンタルサーバーじゃRailsのパフォーマンスを引き出せない
試しにPHPで作り直した

ジャンケンCakePHP版

フレームワークにCakePHPというものを使った
Ruby on Railsに触発されて作ったものらしくかなり似ている
細かいところが違うけど、なんとか移植できた
3ヶ月近くかかったものが3日でできた
それだけ似てるってことだ
まあ、Rubyならではの機能を使いこなせてなかったし、
データベースの設計はできてたし、HTMLとJavascriptはそのまま使えたし楽だった

少し遊んでみたら、パフォーマンスが良かった



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

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