ぷぎがぽぎ このページをアンテナに追加 RSSフィード

2007-10-30

[]PHPフレームワーク

個人的にsymfonyを推薦中ですが、CakePHP, EthnaZend Frameworkなど書籍も出版され、2007年はフレームワークがより身近な存在になった年だなぁと感じています。

それぞれのフレームワークはいい意味での"PHPらしさ"を生かしたフレームワークなので、どれを使うかは好みの問題かもしれません。

また、どのフレームワークを選らんでもメリット、デメリットの両方があるでしょう。

私は、PHP4でも使う必要がある場合はCakePHP, PHP5で開発するならsymfonyと決めています。

限られた調査期間で一通り使ってみて「学習コスト」の低さと「ドキュメント量」から考慮しました。

実際に開発を行っていて体感したことからの経験ですね。。

  • ドキュメント量は多いほうがよい(特に日本語)

とくにドキュメントは大切です。最初のころなんてコーディング時間よりも実装方法を調べる時間のほうが断然多いです。

しかし、一度実装方法がわかると次回からは大幅に開発が早くなります。

というわけで、この"調査時間"をどれだけ縮めることができるかが開発しやすいフレームワークかどうかになるかと。


  • 学習コストは必ず発生するから、チームに1人でも導入するフレームワークに詳しい人(ある程度答えら得る人)がいればいい

会社であれば、開発メンバーに詳しい人が1人いれば十分です(経験上)。

ネットで調べてわからなければ知っている人に聞いたほうが断然早いですから。。

2007-10-10

[][]製作サイドにsymfonyを説明しる

デザイナーさんと一緒にsymfonyで開発するんだけど、簡単に説明したいんでまとめました的資料。

デザイナーさんのためのsymfony

初めてSmartyを導入したときのことを考えればよっぽど敷居は低いんでない?と思うのは私だけ?

2007-10-02

[][]symfonyからiso-2022-jpでメール送信

このネタに関しては検索すればそこそこ情報があります。

dozo dokuwiki.php中の人の解説が一番わかりやすいのですが、一部誤りがあります。

ref:symfony JIS(ISO-2022-JP)メール送信する方法(MVCバージョン) 【dozo dokuwiki.php】

getPresentationForを利用することでMVCによるメール送信実装ができますが、

第3引数で専用のsfMailを指定しないとmailer.ymlでの設定は行えません。

(sfMailを指定するとsfMailViewクラスが使用され、そこでmailer.ymlの設定が読み込まれるので)

たぶん、検証途中だったんじゃないかと思いますが。

じゃあ、第3引数に"sfMail"を渡せばよいかというと、

今度は本文だけがどうしてもJIS変換できないというジレンマに陥ってしまいます。

但し、注意がひとつ。

symfonyでのメール送信の説明@symfony BOOK 日本語版の中盤に載っている、「メール送信に代替アクションを使う方法」ではできませんでした。

MVCが綺麗に分離するので「美しい(笑)!」んですが、

・ビュー(sendSuccess.php等)をJISで書いても、

・sendActionの中でsfMailの代わりに上記mbMailをインスタンスしても、

文字化けしました(T_T)

django対symfony 日本語メール送信(その1 symfony編)[LinuxなWEBデザイナーの覚書き。

なぜなら、「メール送信に代替アクションを使う方法」で使用されるsfMailViewクラス内で sfMailオブジェクト作成し、そこから本文(body)部分をセットしてますから。。

つまり、iso-2022-jpでかつ、mailer.ymlによるMVC分離を行うのであれば独自のMailViewクラスを作らなくてはなりません。

めんどくさいですね。というわけで、プラグイン作ったんですというお話です。

詳細は http://develop.ddo.jp/new-tech/php/framework/symfony/plugin/jpmailplugin からどうぞ。

あと、メールテンプレート用のアクションを利用するときは

ブラウザなどで直接呼び出されないようにする工夫を忘れずに。

その点についてもプラグインのページの最後に書いてますので合わせてどうぞ。

[][]ヒトリゴト

symfonyネタばっかり書いてますが、現在どっぷりCakePHPで開発してたりします。どっちも使いやすいんでケースバイケースですね。

2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2013 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2014 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2015 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2016 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |