2006-04-01から1ヶ月間の記事一覧

Moony_DB

Moony_DBは同梱し続けることに決定。 PEAR::DBのラッパークラス queryメソッドで検索が可能、結果は連想配列の配列 executeメソッドで更新が可能、結果は影響を与えたレコード件数 勿論、これもインジェクションすることが可能。 [Injections] db=Moony_DB上…

早稲田大学125周年記念公開シンポジウム「インターネット検索の未来」メモ

早稲田大学125周年記念公開シンポジウム「インターネット検索の未来」に行ってきたよ。そのときのメモを以下に公開。間違いとかもあるかもしれないけど…。それにしても久しぶりに早稲田に行った。 サーチエンジンの5原則 Relevancy Comprehensiveness Freshn…

Moony_Requestの実装方式

リクエストパラメータの取り扱い、最終決定。 結局0.9.xまでと同じようにgetメソッド経由でアクセスするようにしましたよ。その方が何かと便利なので…ということで元の実装に回帰。ただし、Moony_Requestのインスタンスはメソッドの引数としてではなくアクシ…

Smartyを直接操作

Smartyを使用する場合は、細かいことを使用としたらSmartyの設定ができないと困ることになります。現状ではよく使うであろう設定をmaple.inc.ini内で定数として保持しています。が、これだと準備された設定しかできないことになります。 Mapleに限らず、Smar…

アクションごとのインジェクション

アクションごとにインジェクションしたい場合は、アクションクラスを配置したディレクトリのmoony.iniにインジェクション定義を全部書いておいて、必要なものだけアクションのインスタンス変数とすればOK。 たとえば、moony.iniが以下のようになっていて、 […

インジェクション設定ファイル

diconファイルほど大げさではないんだけれども、インジェクションの設定をiniファイルで定義できるようにしようと思う。Moony.phpと同じ階層にあるmoony.iniがまずベースとしてロードされて、それをアクションクラスを配置するディレクトリのmoony.iniが上書…

フレームワーク一覧

http://d.hatena.ne.jp/koyhoge/20060327/1143444511 id:koyhogeさんがまとめているフレームワーク一覧にMoonyが追加されていました。Moonyの指摘をしてくださったid:elfさん、ありがとうございます。精進いたします…。それにしてもたくさんあるなw

Mac mini

買ったまま放置していたMac mini(PPC)にFedora Core 5を入れてみた。PPC用のバイナリをダウンロードして、のんびりインストール。何事もなくインストール完了。簡単すぎ。とりあえず下記のような用途に使おうかと。 NAS jpeg(デジカメで撮った写真) mp3…

リクエストパラメータの扱い

アクションクラスのインスタンス変数にリクエストパラメータをインジェクションしようと思ってたけど、そうするとリクエストパラメータの数が多いときに非常にわかりづらく/見づらくなる。どうしたものか。Moony_Requestクラスはやっぱり必要だろうか…。std…

Moonyの立ち位置とは?

メモみたいなものだけれど、最近考えていること。 フレームワークとしてのPHP リクエスト/レスポンスの取り扱い セッションの取り扱い 多種多様な関数群 PHPにできることはPHPに任せてしまおう PHPで"自動的に"できないことは? セキュリティ対策 きちんと…

ホームベーカリー

前からずっと欲しかったのを思い切って買った。毎日のようにパンを焼いている。ちなみに焼くとd:id:tiru2005:20060410とかd:id:tiru2005:20060411のようになる ;-)ZOJIRUSHI パンくらぶ 自動ホームベーカリー BB-HA10-WZ出版社/メーカー: 象印(ZOJIRUSHI)発…

XMLなどを出力する方法

テンプレート描画を無効にして、echoやprintを使って文字列を出力すればプレーンなテキストが出力可能。Content-Typeがtext/plainの場合はヘッダ出力を省略可能(デフォルトで出力)。エンコーディングは必要に応じて変換すること。 class Foo { var $templa…

テンプレート描画を無効にする方法(2)

やっぱりもっと簡潔に、インジェクションされたテンプレートファイル名にNULLを設定すればテンプレートのレンダリングを行わないようにする。その方がわかりやすい、と思う…。 class Foo { var $template; // to be injected function execute() { $this->te…

テンプレート描画を無効にする方法

Moony 0.10.xではSmartyを用いたテンプレートのレンダリングを無効にするためのメソッド、Moony_Helper::disableRenderingを提供予定。下記のように実装することでexecuteメソッド終了後のテンプレート描画が抑制できる。 class Foo { var $helper; // to be…

外部ライブラリとか自作ライブラリとか

Moony 0.10.xでは以下のクラスが廃止される。 Moony_DB (PEAR::DBのラッパー) Moony_Uploader (ファイルアップロード用クラス) その他のクラスに関しては、他のクラスと統合するなどして機能自体は存続する予定。 上記2クラスをどうして廃止するかというと、…

PATH_INFOの取得方法

PATH_IFNOの取得方法も変更しようと思う。例えば、URLが/index.php/foo/bar/param1/param2の場合: Moony 0.9.x Moony_Request::getPathInfo($index)で取得 class FooBarAction extends Moony_Action { function execute($request, $response) { $p1 = $reque…

Ejection

Injectionの対義語は、Ejectionでいいのかな? つまり、何かを注入するのではなくて抽出するといったような意味。注入できる依存性/変数があるのなら、抽出できる(抜き出すことができる)依存性/変数もあるということ。密結合になると言えばそうだけど、…