2006-01-01から1年間の記事一覧
Moony_Cacheにメソッドを追加した: start($id, $lifetime = 3600): bool キャッシュされていた場合、キャッシュ内容を出力してtrueを返す キャッシュされていない場合、出力バッファリングを開始してfalseを返す end(): void 出力バッファリングを終了、出力…
外部に依存しないキャッシュ機構が欲しくなり、Moony_Cacheクラスを作ってみた。Moony 0.13.0のパッケージに含める予定。PEAR::Cache_Liteで十分なのだけれど、レンタルサーバとかだとパッケージを別途用意するのが面倒くさい。 特徴 ファイルベースのキャッ…
公式サイト、一々更新するのも面倒だし書き直すのもしんどいのでwiki化することに。PukiWikiでスキンはbreeze。breezeのスキンの一部に「
テンプレートエンジンとしてSmartyを使えるようにすることに(再び)。何だかんだ言ってやっぱり必要。アクションクラスのメンバ変数をテンプレートにどうやってアサインするか悩む。展開して{$foo}にするか、{$action.foo}にするか。
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 Moony_Action Moony_Cache (追記: 2006-12-07) Moony_Command Moony_Converter (追記: 2006-12-09) Moony_Processor Moony_Request Moony_Router Moony_Session Moony_Smarty (追記…
PATH_INFOにスラッシュが連続するような文字列を渡すと、スラッシュが1個になってしまうのはApache 2.0xの仕様なのね。ふむー。
第9回XML開発者の日に行ってきた。会場は新富町、宝町から歩いていく(浅草線ユーザ)。午前中に行われたREST関連のセッションが興味深い。開発者向けのイベントで久しぶりにメモを取る。以下メモ: REST関連 web UIとしてのweb ハイパーメディアシステムとし…
Moony今後の予定: $GLOBALSの代わりにMoony_Registryクラスを使用 値/参照の両方を格納/取得できるように アクションキャッシュの仕組みを考える PEAR::Cache_Liteを使用するか Moony_Cacheクラスを実装するか validationエラーに項目名の指定ができるように…
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をリリースしました。ダウンロードはSourceForge.jpからどうぞ。変更点は以下の通り: Moony_Actionのメソッドのシグネチャ変更(詳細は省略) フラッシュ領域の取り扱いを変更 詳細はMoony_Session::flash()メソッドを参照のこと 文字列をエスケ…
はてなパーカー欲しい! どこに着ていくかは決めてない。
急に思い立って開発中。ほとんどのI/Fは0.11.xと同じ、ただしメソッドのシグネチャが少し変わるかも。あとSmartyが使えないようになったり。週末にリリースできたらいいな…。
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をリリースしました。ダウンロードはSourceForge.jpからどうぞ。変更点は以下の通り: アクションが見つからない場合、HTTPのステータスで404を送出するように修正 メソッド追加: Moony::setDefaultAction() アクションが見つからない場合に実行…
というわけで、Moony 0.11.1をリリースしました。ダウンロードはSourceForge.jpからどうぞ。 詳しくはプロジェクトホームページを見るか、ソースを参照してください ;-)
Moony 0.11.0では全ての処理をMoony_Controllerを継承して作るようになっているけど、コントローラという名前が紛らわしい。Moony_ControllerをMoony_Actionに改名して、アクションベースのフレームワークとして方向性を修正しようかと思う。処理内容が変わ…
最近、プログラミングするときは小夏フォントを使っている。きれいにアンチエイリアスされるフリーの日本語フォントがWindowsにはあまりないのよね。「$」がすこしつぶれた感じがする以外はなかなかいいかも。
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…
気のせい? とりあえずドメイン指定で拒否設定した。
方式を変更、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が自宅のPCにインストールされていないことに気がついて、ダウンロードしようとしたらPEAR installableなパッケージが本家に見当たらない。前はあったような気がしたのだが…。探したらpearified.comのchannelにあったよ! http://www.lastcraft.co…