設計勉強会(PHP勉強会)

設計勉強会

夕方からPHP勉強会に出席する為に外出。

今回は普段のPHP勉強会と趣を変えた設計段階での工夫に絞った勉強会の第一回。

青物横丁の楽天タワーにて。


楽天タワーすげえええ!内部が超豪華!!!

ミネラルウォーターも貰いましたありがとうごじます

最初は自己紹介兼、設計勉強会としての参加した動機の発表会。
やっぱりEthnaは自由すぎて色々他の人の事気になりますよね。

  • リスクを避けるWEBアプリケーション設計(PHPerにとっての設計とは?)

yandodさん発表
10/25にCakePHPカンファレンス開催宣伝。events.phpの負荷テスト的に大人数を募集しますよ。

    • PHPerにとっての「設計」
    • 設計とはどんなこと?

PHPerにとってはどうせ、ほぼWEBアプリで、LAMPで、厳密なトランザクション処理とかは無いし「詳細設計」の事で良いんじゃない?

    • 詳細設計のフェーズをコーディング前に取る

様々なリスクを避けるため

    • 気にするポイント

認証の有無・SSLの有無・セッションの単位は初期にまとめて決めておく

でもリスクを避ける為にガチガチにすると膠着状態になっちゃう
面倒でもコストを払って導入すべき技術はある

  1. ユニットテストは必ず
  2. ORマッパも必ず
  3. Smartyはさよならすべき
  4. APCは絶対使うべき
  5. 本番環境でソース編集するのはNG


Smartyの是非について論争が!
個人的には特に使いたいわけでもないし詳しくもないけどEthna使う以上仕方なく・・・
あと、PHPタグを直接打つよりは不便な分(覚える気も無い分・・・)自然とテンプレート側にロジックを持ってこない様になるので良いかなぁと。基本的に{foreach}意外Smartyのタグ使わないし。

  • Ethna的ActionとViewな何か

sotarokさん発表
そたろっくさん

(authenticate)->prepare->perform

      • View

preforward->forward->template
ロジックによる明確な役割分担が出来るけどModelが貧弱なんでSQLのが楽

DBから取って来て表示なんかもViewのpreforwardで全部まとめる!
Post/Doでエラーがあって戻ったりする時にPost再描画する場合などに気にしないでreturnでのpreforward先を指定すればおk


Viewの使い方をちゃんとすると便利だよね・・・
View作るのが面倒でperformでsetAppしちゃう事が多い。そしてreturnでviewがわかれる時にだけViewを作ってperformの中から該当するコードをカット&ペーすとしちゃうですね。


と言うか、ちゃんと普段自分がわざわざ使う時のViewの使い方は基本的に正しい感じだと言う事を確認出来て良かった。

haltさん発表

でもViewとtemplateが分かれてる意味が無い

    • Cakeだと素敵

質疑応答でCakeはRoRのつもりだとModelの扱いが違う、ActiveRecord的な楽な使い方が出来ない。
Viewをテンプレートとviewプログラムとに分岐する事の是非が熱く語られる。

と言うかここら辺でおなかがすいてあたまがまわらない情態に・・・

  • まとめ、と言うか感想

全体的に、Ethna使いにとってはsotarokさんとhaltさんの発表した事の内容で、EthnaのViewを巡る混乱と言うか分かり辛さが解消された気がする。
昔の、数少ないEthnaのサンプルコードはhaltさんが絶対にViewを使わない様に作っていて、Viewは要らない!と熱弁されてた気がするのを、なんだかんだ自分で使っていくとsotarokさん的にしないと不便なのが分かってくる、んだけどそもそもEthnaには確固とした指針も無いからこんな感じで良いのかなぁ・・・と迷ってる部分もあったので。haltさんがMVCの理念に従ってCake以前のFWのViewを否定してるのも内容は理解出来た。
でも、templateとViewを別個にするのはどちらかと言うとデザイナとの分業的な理由が大きいかなぁと思ってた。

  • 例によって焼肉懇親会

懇親会は青物横丁の焼肉屋さん。
http://image.movapic.com/pic/m_2008092623582848dcf89450bf9.jpeg
Ethnaについて色々語りたかったが島的にちょっと畑が違う人たちだったので焼肉を堪能しました。
げぷー。


今回も幹事のid:shimookaさんありがとうございました。