Hatena::ブログ(Diary)

Transrain Developments このページをアンテナに追加 RSSフィード

2007/12/26 (Wed)

インストールソフト

よく忘れるので。気が向いたら追加とかする。

Windowsディレクトリに入れるもの

操作系

  • SortInchKey
    • キーカスタマイズソフト
  • WkTASK
    • タスク管理&ランチャー

電話系

  • QDz
    • コンタクトリスト

カメラ系

ユーティリティ

2007/12/05 (Wed)

タイプヒンティングインジェクション

id:n314さんが書いていた。

http://d.hatena.ne.jp/n314/20071204/1196780004

guessworkのPHP5版で開発中だった機能ですね。

他では見たことがないかな。public/private/protectedを考えて作られてるFWもたぶん少数派でしょうし。

で、実際に使用する事を考えると少し考慮しないといけない部分がある。

PHP5でのタイプヒンティングはプリミティブ型には対応していない事。

array型はPHP5.1で導入されたけどオブジェクトのみが対象なので、文字列等を使われないようにする必要がある。

あと、例に出されているようにActionに対してヒンティングを使うとして、引数にしか設定できないのも引っかかる。

今までのMapleではプロパティに対して値をインジェクションしていたので、その思考で行くと方向性が異なるので色々考えなければならないと思います。

ただ型を固定できて、その情報を元にインジェクションを行えるのはいい方法だとは思うのですが、Actionに適応するメリットが自分の思考では出てこなかったりします。(プロパティにすると設定でインジェクション情報を記述しないといけないから、その手間を省けるとか??見通しが良くなるとは思ってます)

コアに対してヒンティングを使えば拡張コアをインジェクションするのに使い勝手がいいよねとは出てきます。

バランスのいい落としどころを見つけるためにやっぱり議論の場が必要ですよね。

2007/12/04 (Tue)

最近作っているプロジェクトの構造

最近はファイルを3カ所に分けて使ってる。

  • フレームワークのディレクトリ(include_pathでPEARっぽい扱い)
  • アプリケーションディレクトリ(document pathに置かなくても動作するように)
  • ドキュメントルート(index.phpと.htaccessだけ)

これを開発中は一つのディレクトリに投げ込んで実行。

mod_rewriteでURLマッピングを行ってコントローラーを呼び出す。といった構造。

はい、基本maple3形式ですね。でも、この形って色々な置き方ができて便利なのよね。

フレームワークの共用を行うなら置いた部分をinclude_pathに指定すれば動くし、

アプリケーションディレクトリを移動させれば表から見えないようにできるし、

アプリケーションディレクトリを入れ替えたら別のアプリケーションを動作させる事ができるとか。

欲しい機能とかもろもろ

http://d.hatena.ne.jp/kunit/20071203

覚え書きだけどこんなの。

他の意見に対する意見と言うか、考えも書く。

PHP5

PHP4は2007/12/31にリリース廃止で、2008/08/08までfixも終了する。

という事でPHP5専用で、という意見を持ってます。

レンタルサーバーがPHP4と言っても、セキュリティ面から見ればリリースが終わった後に使い続けるのはどうなんだと思うので。

DBモデル

まぁ、これは無いとダメじゃないかな。と言ってもSQL書けないレイヤーなら要らない。

全てがSQL書かずに解決できるならいいんだけど、現実にはそういうわけにはいかないので。

あと、これもPHP5専用だとPDOが使えるので抽象化を行うにしても接続や発行周りでごちゃごちゃしなくて済むし、プリペアド経由で発行するようにすればSQLインジェクションの対策にもなるし、と考えてます。

今はS2Dao使ってるけど、設定ファイルがFWと剥離しちゃってるので気になってる所。

VIew

これは今までと同じくSmartyとFlexyは最低限対応すれば良いんじゃないかな。

Smartyプログラマには使いやすいとは思うけど、HTMLとの親和性を考えるとまだFlexyの方が使いやすい。

Smartyだけに対応してるFWにウンザリしてきたのでここは強く思ってます。

URLマッピング

これも対応してると良いと思う。HTTP_URL_Mapperを使っているけど、やっぱりURLが整理されるのが便利だし。

国際化

あると良いよね。個人的にはgettextを使ってるけど。

テスト

必須、だけどもどこまで落とし込むか、までは考えれてない。xUnitレベル? Seleniumレベル?

カスタマイズ

基本は触りたくないけど、顧客要望って色々あるので確かに欲しい。

コアを直接弄るのはアップデートを考えるとやりたくないですよね。

設定ファイル

数が増えすぎると逆に判りづらくなると思うので、出来る限りまとめるとか、Actionのpublicプロパティ(予約語として用意)から値を取れるとか。

S2を使っててPDO設定,DAO設定、URLマッピング設定等々、設定ファイルが増えすぎると管理がし辛いと思っています。

2007/11/30 (Fri)

Services_Twitterとwp-webclapをアップ

CodeReposにServices_Twitterとwp-webclapのソースをアップロードしています。

Connection: close