2009-01-01から1年間の記事一覧
Zend_Applicationに初めて触った時、なんで、ブートストラップをコンフィグで駆動させるためにこんなにステップ数を踏むんだい?って正直思っていたけれど、モジュール別ブートストラップをコンフィグとプラグインリソースで実装してみて、その理由がわかっ…
ZF 1.8.1がリリースされて、Zend_Applicationの全容が見えてきた感があります。内部的には、微妙なところも散在しているようなんですが、十分実用的になったと思います。
さんざん書いてきて、アレですが、最近のZFのリリース間隔と更新のフットワークの軽さを考えると、 過去ログが検索にかかってしまって古い情報に埋もれてしまうので技術的な情報はブログに書くのは向かないかもと思った。 あ、でも書くけど。(試行錯誤のロ…
ZF1.8RCでそれぞれテストして良好だったんですが、それで余裕ぶっこいて1.8.0の正規リリースをいきなり投入したら困ったことになりました。
面白く読ませていただきました。 共感したところ 自分が技術的に成長した今だから言えることですが、今のLingrやRejawのようなプロダクトなら、1人か、多くても2人ぐらいで作れるべきであった、と思います。「少数精鋭」を突き詰めると、究極的には1人になる…
やりたいことと、ベースになっている技術に隔たりがある場合、つい黒魔術的なギミックで解決する誘惑にかられてしまう。 その時は、「われ発見せり」てな感じでちょっとした愉悦感を味わってしまうのだけれど、後になってみるととても恥ずかしく思えることが…
PHPのUMLモデリング用ツールでラウンドトリップ対応しているものはあまり見かけないのですが、これはたぶん、PHPの記法的に対応しにくい書き方が許されてしまうからではなかろうかと。そのため、PHPな現場でのモデリングツールの使い方としては、ウォーター…
Web系の開発者って、"新しいこと"、"おもしろいこと"に対する欲求が他の分野の開発者よりも強い気がします。
某プロジェクトがデスマになった時、お世話になった息抜きスポットの<be>ブーランジェピシエ@六本木ミッドタウンがどうも閉店してるっぽい?のでちょっと残念だなと思った。 デスマなプロジェクトって自虐的に語られることが多いんですが、現場が殺伐とし…
ソースコード管理といえば、VSSかSVNで通してきた身としては、CVSでやってるプロジェクトとか使いにくいなぁと思ってしまうような適応性のなさを発揮してしまいます。かといって、CVSだからできませんとは言えないですしw gitについても、いまだに使ったこ…
コントローラーががんばりすぎる設計(Fat Stupid Ugly Controllers)に対するアンチテーゼとして出てきた話、"Skinny Controller, Fat Model" 元ネタ 元はこのブログ記事Buckblog: Skinny Controller, Fat Modelらしいですが、元ネタの元はこれ?http://www.a…
ZF-6331によると、Zend Frameworkはname space対応するにあたり、コーディング規約に変更が入るらしいです。これまでのハンガリアン記法*1からPEAR2コーディング規約への準拠へと変わるそうな。主な変更点は、 これまでインターフェース名は _Interfaceで終…
※フロントコントローラーのdispatchでdispatchループをbreakできるコードを入れておく必要があります。*1 getCache()->load($id)) { $this->_isCacheHit = tr…
Zend_Application絡みでコンテナをどうやって取得する?というのが残る課題だったような気がしますが、getInvokeArgを使う方法はすっきりしててうまいですね。 getInvokeArg('bootstrap'); $router = $bootstrap->getResource('router'); #fw-mvcのログより …
PHPでのDIコンテナのわかりやすい説明としては「最小のDIコンテナ in PHP」や「DIコンテナなんていらない」の中で説明されているし、DIコンテナをより詳細に推し進めた形としてはSeasar2のドキュメントか何かを見ていただいた方がいいと思います。DIコンテナ…
いろいろ触って、ソースもそれなりに見てきて思うんですが、ZendFrameworkにはちょっと不思議なところがあります。 たとえばZend_Formのデコレーター。これ便利ですごくいいんですけど、だからこそなんですが、デコレーターっていう名前にしていて、開発者ブ…
SVNに1.8のリリースタグが作られました。いよいよZend_Applicationがリリース待ちですね。 というわけで、試してみました。 マニュアル(英語版)はここでリリース済み、日本語版も間もなく出る?でしょう。ファイルリストはこんな感じ Application.php Appli…
発表のダイジェストはlllnorikolllさんがまとめて下さってますので、私は雑感を。まとめじゃないです! 携帯対応とか 携帯対応については、いくつかの現場で体験してきたので、今回の発表はよくわかりました。 全部SJISで自社サーバ環境ならSET NAMESじゃな…
Zend_Formについて、ZFのメイン開発メンバーの一人、[Matthew Weier O'Phinney]が連載を開始しているので、要チェックかもしれません。 第1回はシンプルなデコレーター、第2回はデコレーターをレイヤー化して適用する方法が書かれていますね。 http://weie…
VBAとか、軽視されるケースが結構あるけれど、Webフレームワークといっても、いまだにACCESS98のレベルにすら到達していないっていう気がしなくもない(って何がw) そういう意味ではクライアントインターフェースをお手軽に提供するFlex連携は必須技術の一…
明日、日頃からお世話になっているZend Frameworkさんの勉強会が開かれるので参加させていただくことになりました。 勉強会というものに参加したことがないので、とんでもない勘違いをしていないか、ちょっと心配です。とりあえず、持ち物はデジカメとビデオ…
ReflectionFunctionを併用して関数の遅延評価をテストしていたのですが、思わぬ挙動に・・・ ReflectionFunctionの基本動作の確認 invoke('/php/i', 'PHP is the web scripting language of choice.') ); //int(1) 関数を動的に与えるのはちょっとキモイです…
Zend_Cacheのバックエンドmemcachedはとても便利ですね。請負で常駐で入って昨年3月にリリースされたサービスでも使いました。設計からリリースまでほとんどの作業をこなしたのですが、そこでは、会社の方針でPHPセッションは使用禁止*1、スケール目的にフ…
存在しないコントローラーへのリクエストをテストしていたのですが、なぜかエラーコントローラーからのレスポンスが得られなくなっていました。例外が投げられることもなく、画面が更新されないという現象に悩まされました。 同じURLをZend Debuggerに通して…
リクエストに対するフィルタやバリデーションを実施するのに、たとえばZend_Formを使っている分にはZend_Formに設定するフィルタやバリデーションを使えるからよいのですが、それ以外のデータについてはどうでしょうか。 Zend Frameworkでは、リクエストのバ…
成功と失敗 失敗プロジェクトに参加すると「そこは無理筋だったなぁ」とか「ここはあぁすればよかった」とかいう反省が生まれてきます。フリーのエンジニアとしては、サービスの要件定義部分から関与できるケースは少ないので、デスマーチな状況に入ってから…
ZendFrameworkのファイルをバックエンドとしたキャッシュは他のコンポーネントや拡張を必要としないのでお手軽に実施できます。 ただ、キャッシュエントリーが多くなるとキャッシュのクリアーなどで若干問題が発生するかもしれません。 複合的な要因で発生す…
nullを返さないためにgetterで初期化するのはありだけど、初期化するためにgetterを呼ぶのは違う気がする。
既存CMSで構築されたシステムを移植する作業中なのですが、急ぎ負荷問題だけ解消しておきたいサイトがあったので先行してキャッシュだけ導入しておきました。 Zend_Cacheのページキャッシュが適用できるようなサイトならこの作業は数分で済みます。オプショ…
simplexml_load_fileで、ちょっとん?だったのでメモ。ZFのissueに上がっていたのですが、今は見失ってしまいました・・クローズしたのかもしれない。 ほぼ同じ構造のドキュメントですがZend_Config化すると$config->files->file->id等で値を取得しようとし…