2008年03月23日

CakePHP開発メンバーによるMVCデザインの記事

Nate Abeleによる、CakePHPを使ったMVCデザインに関する記事が php|architect のC7Yに掲載されています。

Best Practices in MVC Design with CakePHP

$this->set(compact("posts"));

という構文を使っているなど、一瞬、あれっと思うかもしれませんが、本当に目を向けるべきところは、MVCの設計の考え方とリファクタリングのほうだと思います。ハイ。

コア開発者が投稿している記事ということで、たいへん珍しいと思います。
タグ:cakephp mvc 設計
posted by SDozono at 10:19| 東京 ☀| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

2008年03月18日

GoogleGroup トップ8

GoogleGroupのProgrammingカテゴリで、“メンバーが多く、議論が活発なグループ”って、どこだか知っています?

Ruby on Rails: Talk
High activity, 13328 members

Google Web Toolkit
High activity, 12120 members

DotNetDevelopment, VB.NET, C# .NET, ADO.NET, ASP.NET, XML, XML Web Services,.NET Remoting
High activity, 11144 members

Android Developers
High activity, 8314 members

Django users
High activity, 8149 members

Cake PHP
High activity, 8129 members

jQuery (English)
High activity, 6346 members

J2EE
High activity, 3709 members

だそうです。詳細はこちらから。
posted by SDozono at 14:10| 東京 ☀| Comment(0) | TrackBack(0) | Programming | このブログの読者になる | 更新情報をチェックする

2008年03月17日

フリーデスク制の内線電話ソリューションには、trixbox Proが最適。

最近、決まった個人のデスクがない「フリーデスク」制を採用している会社が増えていますが、実はWeb系の開発をやっている会社こそ、フリーデスク制にいちばん近いところにいるのではないか、と思っています。

ただ、問題になるのは電話ですが、これは弊社としては、trixbox Pro + IPソフトフォン(か、IP電話機)、という組み合わせがいちばんお勧めです。(だから販売・宣伝しているわけですが…。)

本家サイト: http://www.trixbox.com/
弊社日本語サイト: http://www.cba-japan.com/trixbox/

Asteriskを使うと内線を無料で作れますが、SkypeやGoogle Talkのような、今、だれが電話に出れるか、というプレゼンス機能が標準でないので、今ひとつです。trixboxのHUDは、このあたりを非常にうまく補完していて、いろいろグラフィカルに認識できるようになっています。ついでに言うと、trixbox Proは、ローカルLANの中にIPフォンを置く必要がなく、外部からサーバを指定して登録できる(SIPのドメインとして、自社内にインストールしたtrixboxのPBXではなく、fonality.comのサーバに対してSIP登録する、というハイブリッドホスティングになっている)ので、場所・拠点の制限がありません。

ノートPCを持っている技術者なら、HUDとIPフォンを入れておけば、たとえ海外からでも内線を転送してもらえます。これで「外こもり」なんてどうでしょうか。

詳しくはこちらをどうぞ。Flashデモがあります。

これがあると、だれがだれと何分話しているかも分かりますし、転送するのも簡単です。(ドラッグドロップで振れます。)

このページを見に来てくださっているような、ネットワーク+Webに詳しいところであれば、十分活用していただけると思うのですが、いかがでしょうか。

ちなみに、かなりよく出来たIPソフトフォンの会社のリセラーサイトがCakePHPで作ってあったのを数日前に知って驚きました。(CakePHP Powerのロゴがはってありました。)これまで、“Asterisk,VoIP系の会社は、Web化がはじまったばかりで、フレームワークなぞには目がまだいっていないなぁ〜”と思っていたのですが、進歩のスピードはかなり速いですね。Asterisk系のWebサイトでもCakePHP製がお目見えしています。

[追記]
マイコミジャーナルでも取り上げてくださったようです。
ありがとうございます。

CBA、中小企業向けにAsteriskベースのIP-PBXソフト発売

posted by SDozono at 16:46| 東京 ☀| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

1.2でいろいろ

ここのところ、CakePHP1.2で幾つかアプリを作っていました。1.2に慣れてしまうと、もう1.1に戻れませんね〜。ますます快適になっています。

今回のアプリを作った際の自分用備忘録。

1)Flashはどこに?

Flashを入れる方法はいろいろあると思うんですが、いちばん素直かな?と勝手に思ったのは、webroot内にflushフォルダを作ってしまう方法でした。詳しくは下記にありますが、

swf problem Options

1) webroot/flash フォルダを作る
2) view では、object type="application/x-shockwave-flash" data=" としてから、echo
$html->url('/flash/'.$file_name); で読み込む

というのが自分的には自然でした。

2)最近の cake.bat

 consoleフォルダの "cake.bat"には、“In order for this script to work as intended, the cake\console\ folder must be in your PATH”とあります。なので、cake.bat の中に、SET PATH=%PATH%;%CD%; という一行を追加しておきました。これで、“cakeフォルダはひとつ、アプリはappフォルダを使わずにappの同階層にいろいろ”という場合にも、さくさくconsoleが使えています。

3)AuthComponent

基本的には、下記の記事の線で使っています。
Simple User Registration in CakePHP 1.2

$form->input('password_confirm', array('type' => 'password'));
という、パスワードの再確認のフィールドを入れておくと、/users/edit/ID番号 というbakeの生成画面との相性がずいぶん良くなって、使い勝手がいいです。

あともう少し改良される気がするので、あまりがしがし使い込まないほうがよいかな、と思いますが、bakeと軽く組み合わせて使うと、非常に楽ができます。ちなみに、bakeでusersのeditを生成して使う場合には、最低限、idの確認チェックを入れておきましょう。

$myid = $this->Auth->user('id');if($id != $myid){ 

のような形で簡単にチェックできます。日本語でも、AuthComponentについて、いろいろ記事を書いてくださっている方がいるので参考になります!

4)adminルーティング

今は、if(isset($this->params['prefix']) && $this->params['prefix'] == 'admin'){ というような形で、/admin/のルーティングのチェックをapp_controllerで入れていますが、もっと簡潔な方法があるかもしれません。

5)potファイル、poで日本語メッセージ

もう、viewのファイルを日本語に訳すのではなく、potファイルから日本語リソースを作って作業するのが当たり前になりました。Cakeのconsoleが使えるようになれば、ちっとも難しくないので、これはぜひ試してほしいと思います。

英語圏ではこれから本が立て続けに出版されるので、"あっち"でもかなり盛り上がるのではないか、と思います。
タグ:cakephp
posted by SDozono at 16:29| 東京 ☀| Comment(0) | TrackBack(1) | CakePHP General | このブログの読者になる | 更新情報をチェックする

2008年03月13日

う〜ん、シンクロニシティ!

下記のスレッドでは、
Between句の指定

☆"between $beginDate and $endDate"

が、
between '2008-03-01' and '2008-03-10'
にならずに、
between '2008-03-01 and 2008-03-10'
となってしまうと悩んでいました。

こちらのスレッドでは、
多分findのバグ

★$artistname = 'JUDY AND MARY';

が、
`Artist`.`artistname` = 'JUDY AND MARY'
にならずに、
`Artist`.`artistname` = 'JUDY' AND 'MARY'
になってしまう、と悩んでおられます。

最初、この二つが結びつかなかったのですが、それぞれのスレッドに書き込みながら、ふと気が付きました。

「WHERE文の条件設定で、"and" だとクオーテーションがつかず、"AND"だとクオーテーションが付くんだ!!!」

うわー。なぜ?
どうする?

[追記]
これについてはTicketで問い合わせ中。
posted by SDozono at 16:40| 東京 ☀| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする
×

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