2006-01-01から1年間の記事一覧

出力キャッシュ

Moony_Cacheにメソッドを追加した: start($id, $lifetime = 3600): bool キャッシュされていた場合、キャッシュ内容を出力してtrueを返す キャッシュされていない場合、出力バッファリングを開始してfalseを返す end(): void 出力バッファリングを終了、出力…

キャッシュ機能

外部に依存しないキャッシュ機構が欲しくなり、Moony_Cacheクラスを作ってみた。Moony 0.13.0のパッケージに含める予定。PEAR::Cache_Liteで十分なのだけれど、レンタルサーバとかだとパッケージを別途用意するのが面倒くさい。 特徴 ファイルベースのキャッ…

Moonyのサイト

公式サイト、一々更新するのも面倒だし書き直すのもしんどいのでwiki化することに。PukiWikiでスキンはbreeze。breezeのスキンの一部に「

Smartyのサポート、再び

テンプレートエンジンとしてSmartyを使えるようにすることに(再び)。何だかんだ言ってやっぱり必要。アクションクラスのメンバ変数をテンプレートにどうやってアサインするか悩む。展開して{$foo}にするか、{$action.foo}にするか。

IISでPHPを動かした場合の環境変数

IIS上でPHPを動かすと、$_SERVER['REQUEST_URI']が設定されないらしい。QUERY_STRINGなしでOKなら、$_SERVER['URL']を使うといいみたい。IISの環境も用意しておいた方がいいのかな…。(参考: http://koivi.com/apache-iis-php-server-array.php)

プログラミング用のビットマップフォント

思い直してビットマップフォントを使っている。M+ サポートなぺーじで配布されている「Mplus Medium Font with Bitmap」がお気に入り。小さめに表示してもかなり見やすい。

Moony 0.13.xのこと

何を思ったかMoony 0.13.xを開発中。クラスの構成は以下の通り: Moony Moony_Action Moony_Cache (追記: 2006-12-07) Moony_Command Moony_Converter (追記: 2006-12-09) Moony_Processor Moony_Request Moony_Router Moony_Session Moony_Smarty (追記…

ApacheのPATH_INFO

PATH_INFOにスラッシュが連続するような文字列を渡すと、スラッシュが1個になってしまうのはApache 2.0xの仕様なのね。ふむー。

第9回XML開発者の日

第9回XML開発者の日に行ってきた。会場は新富町、宝町から歩いていく(浅草線ユーザ)。午前中に行われたREST関連のセッションが興味深い。開発者向けのイベントで久しぶりにメモを取る。以下メモ: REST関連 web UIとしてのweb ハイパーメディアシステムとし…

Moony 0.12.2以降の予定とか

Moony今後の予定: $GLOBALSの代わりにMoony_Registryクラスを使用 値/参照の両方を格納/取得できるように アクションキャッシュの仕組みを考える PEAR::Cache_Liteを使用するか Moony_Cacheクラスを実装するか validationエラーに項目名の指定ができるように…

Moony 0.12.1リリース

Moony 0.12.1をリリースしました。ダウンロードはSourceForge.jpからどうぞ。変更点は以下の通り: メソッド名変更: Moony_Action::saveUploaded() → moveFile() メソッド追加: Moony_Action::renderFile() 任意のファイルを表示できるように メソッド追加: M…

リクエストヘッダの取得

リクエストヘッダを取得するため、Moony_Request::getHeader()メソッドを実装した。 例えば、アクションクラス内で以下のようにするとUserAgentが取得できる。 $user_agent = $this->request->getHeader('User-Agent');$_SERVER['HTTP_USER_AGENT']から値を…

もっと自動生成

PEAR::Console_Getoptを利用して自動生成ツールを刷新。 コマンドラインオプションを用意してみた: Usage: moony [options] <action_name> ... 'Foo' generates: - actions/Foo.php ......... the action class - templates/foo.php ....... the template file 'Foo_Bar' </action_name>…

ディレクトリ構成

自動生成で作成されるディレクトリ構成を変えようと思う。 /path/to/project /htdocs index.php [entry point] /webapp /actions Index.php [action class] /templates index.php [template file] 公開されるべき"htdocs"と、公開の必要がない"webapp"を分け…

セッションのテスト

今更だけど、コマンドラインからセッションを使ったユニットテストってどうすればいいのかしら…。むむ。

Moony 0.12.0リリース

Moony 0.12.0をリリースしました。ダウンロードはSourceForge.jpからどうぞ。変更点は以下の通り: Moony_Actionのメソッドのシグネチャ変更(詳細は省略) フラッシュ領域の取り扱いを変更 詳細はMoony_Session::flash()メソッドを参照のこと 文字列をエスケ…

あー。

はてなパーカー欲しい! どこに着ていくかは決めてない。

Moony 0.12.x

急に思い立って開発中。ほとんどのI/Fは0.11.xと同じ、ただしメソッドのシグネチャが少し変わるかも。あとSmartyが使えないようになったり。週末にリリースできたらいいな…。

セッションの開始有無(Zend Frameworkの場合)

Zend Framework 0.2.0のincubatorに入っているZend_Session_Coreを眺めてみる。 Zend_Session_Core::start() Zend_Session_Core::isStarted() startメソッドでZend_Session_Core::_session_startedをtrueにして、isStartedメソッドでその値を取得できる感じ…

セッション開始の制御

セッションを開始するかどうか制御できるようにするかな(0.11.2では常に開始)。 Moony_FlashをMoony_Sessionに依存するように実装しなおす必要があるなー。セッションが始まっているかどうかを取得できる関数がないから、Moony_Sessionで開始の有無を判断…

Moony 0.11.2リリース

Moony 0.11.2をリリースしました。ダウンロードはSourceForge.jpからどうぞ。変更点は以下の通り: アクションが見つからない場合、HTTPのステータスで404を送出するように修正 メソッド追加: Moony::setDefaultAction() アクションが見つからない場合に実行…

Moony 0.11.1リリース

というわけで、Moony 0.11.1をリリースしました。ダウンロードはSourceForge.jpからどうぞ。 詳しくはプロジェクトホームページを見るか、ソースを参照してください ;-)

アクションベース

Moony 0.11.0では全ての処理をMoony_Controllerを継承して作るようになっているけど、コントローラという名前が紛らわしい。Moony_ControllerをMoony_Actionに改名して、アクションベースのフレームワークとして方向性を修正しようかと思う。処理内容が変わ…

プログラミング用のフォント

最近、プログラミングするときは小夏フォントを使っている。きれいにアンチエイリアスされるフリーの日本語フォントがWindowsにはあまりないのよね。「$」がすこしつぶれた感じがする以外はなかなかいいかも。

Moony 0.11.0リリース

Moony 0.11.0をリリースしました。ダウンロードはSourceForge.jpからどうぞ。全面的に処理方式が変更になっています。詳しくはプロジェクトホームページを見るか、ソースを参照してください ;-)

連想配列のキーチェック

PHPで連想配列のキーの存在有無を確認する場合、その値がnullである可能性を考える必要がある。 $array = array('foo' => 'a', 'bar' => null); var_dump(isset($array['foo'])); // true var_dump(isset($array['bar'])); // false var_dump(array_key_exis…

なんかトラックバックスパムが多いんだけど

気のせい? とりあえずドメイン指定で拒否設定した。

validation結果の処理

方式を変更、Moony_Controller::displayOnError()を新規実装。コードも実装もすっきり: class Foo extends Moony_Controller { var $name; /** * @param object $v Moony_Validator */ function validate(&$v) { // 必須チェック $v->validateRequired($this…

グローバル変数

Moony_Registryというレジストリクラスを作って使っているんだけど、どう考えてもグローバル変数($GLOBAL)を使った方がパフォーマンスがいい。なるべくグローバル領域は汚染したくないので仕方ないけど。

simpletest

simpletestが自宅のPCにインストールされていないことに気がついて、ダウンロードしようとしたらPEAR installableなパッケージが本家に見当たらない。前はあったような気がしたのだが…。探したらpearified.comのchannelにあったよ! http://www.lastcraft.co…