php

helper面倒くさい ><

例えば、アクションで次のように値が設定されている場合、 stash['name'] = array('yamaoka', 'hiroyuki'); $this->render(); } } テンプレート内でnameっていう名前のinput要素をhelperで作るとこうなってほしい <input type="text" name="name[]" value="yamaoka" />

viewヘルパーどうする

ある程度中身の実装ができるとあとはviewヘルパーがほしくなる。どういうふうに使えるといいんだろ。 inputText('yourname', array('id' => 'yourname')); ?> こんな感じにヘルパーのインスタンスをテンプレート内で使えるようにすればいいかな。それにして…

ライブラリ的なクラス追加

あまり考えずにMoony_Logger_FileとMoony_Cache_Fileのクラスを作ってみた。それぞれ、テキストログを出力するクラス、ファイルキャッシュを行うクラス。 info('this is a message'); Moonyの各クラスをロードするためのstaticメソッドを「import」と名付け…

PHPでDocTest

php

http://labs.unoh.net/2008/04/doctest-for-php.html 書きました。PHPのコアな人には今さらっていうような内容でも、もっと初心者に近い人に紹介すると言う意味で書くことが多いかも。>ウノウラボそういう橋渡しって必要だと思うんだよなぁ…。

SQLite関数あれこれ

SQLite用のDaoをごにょごにょ書いた。こんな感じで使う。SQL書きたい人なので、自分オンリーの場合はDaoを用意してSQL渡すのが好き。 connect($dbFileName); $result = $dao->query('select * from foo;'); で、SQLite関数のマニュアルを見ていると、気にな…

テストどうしよう

要するに、クラスにして「/*** 〜 */」の形式でテストを書いておけばrhacoのDocTestが使えるってわけだ。テストツールとしてrhacoを使うってのは割とありだな。rhaco++

Moonyのオプション的なクラスとか作るかも

Moonyは基本的にwebフレームワークとしての機能しかデフォルトでは提供しないようにしようと思うんだけど(O/Rマッパーとかいらない)、webサイト作るときにこれもほしいなーって機能は割とある。簡単なDaoクラスとか、キャッシュを取り扱うようなクラスとか…

PHP Framework Fight! (仮)

php

【告知】PHP Framework Fight! (仮)開催告知 - 肉とビールとパンケーキ by @sotarokが気になってる。追記: 捕捉早すぎるw>id:sotarok

MagickWand for PHPで画像のプロファイル情報を削る

php

個人的なMagickWand for PHPのメモ。画像をリサイズして小さなサムネイルを作る場合、ただリサイズしただけだとJpegのEXIFデータとかが残ってしまう。不要な場合、次の関数で削除できる。 MagickStripImage 画像のヘッダに含まれるプロファイル情報とコメン…

メッセージングしたい

php

ジョブキューにやりたいことを溜めておいて、まとめて何かを処理するということを考えてみる。MySQLのテーブルにキューを蓄積、cronで定期的にプログラムを走らせればいいのだろうけど、もうちょっとスマートなやり方がある気がする。JavaだったらMQとか使う…

php_speedyでいいかも

なんかViewヘルパー的な関数をMoonyでいろいろ作ろうとしてたけど、php_speedyでいいんじゃないかと言う気がしてきた。組み合わせて使う感じで。テンプレート描画部分も任せちゃおうかなぁ…。

PHPを始めたきっかけ

php

大学のとき、配布されていた掲示板のスクリプトを改造しようとしたのね。改造候補としていくつか見てみたんだけど、PerlのCGIスクリプトはぱっと見何がなんだかわからなかった。それに比べると、ブランケット(中括弧)で構文が書かれているPHPの方がわかり…

デフォルトテンプレート

Moonyにはデフォルトテンプレートという仕組みがある。まず、アクションクラスのrenderメソッドの引数としてテンプレート名が省略された場合、デフォルトテンプレートが自動的に使われるようになってる。アクションクラスが「Foo_Bar」だったら、「foo/bar.p…

VOもいいですね(PHP5限定)

php

自分が利用しているVOクラスの特徴。 VOクラスは自動生成 クラス名はVOによって変える クラス名からフィールドが確定する PHPでもVOを使う - ログ日記 そこまでルール付けがなされているのならVOもいいかも。データ構造の塊として見た場合、連想配列だと何が…

PHPでVOとかDTOとかいらない

php

PHPで何か作るとき、ValueObjectとかDTOとか基本的にいらないと思う。データ構造だけを持ってるオブジェクトなんて意味がない。ふるまいまで自分でわかってる子なら意味があるけど。ただのデータ構造なら、連想配列で十分だよねとか思ってしまう。

ふと思ったこと

php

PHPのtrigger_error関数ってすごいのではないか。

PHP5かな

やっぱりMoonyはPHP5のみ対応にすべきだろうか。悩む。例外が使えると便利なことは確かなので。クラスのプロパティとかほとんどpublic扱いにするけどな!

Mapleの復活騒動(?)

php

Mapleの復活騒動(?)を傍から見ていて思ったこと。いつの間にか開発が停止して放置されてたのに、いきなりUsagi Projectとコラボレーションとか言い出しててよくわからない。活動の再開はすごくうれしいニュースなのだけれど。個人的には、DIコンテナの取…

view関連まとめた

よりシンプルに第2弾。テンプレートview関連のソースを1ファイルにまとめた。Moony_Viewクラス(phpテンプレートを扱うだけのクラス)を記述したファイルに、直にヘルパー関数も定義。一箇所にまとめてしまうことに。疎結合じゃないけど小さなフレームワーク…

プラグインなくした

会社の合宿で作ってみたMoonyのプラグイン機構だけど、取り外すことにした。何か煩雑になりすぎる気がしたし。必要ならMoony_Actionのサブクラスで実装してそれを継承すればいいし。できるだけシンプルにしていこう。

validationをどう書けるようにするか

今悩んでるのは、validationをexecuteメソッド内でどう書けるようにするのがわかりやすいかということ。設定ファイルとか使いたくないし。 validate( $this->name, 'required', '名前は必ず入力してください'); if ($this->error()) { $this->output($this->…

URLで渡されたパラメータを受け取る

URLで渡された(PATH_INFO)パラメータは、素直にexecuteメソッドの引数として受け取れるようにした。

ちなみに

php

出力エスケープはテンプレートでやる派です、今のところ。

assignメソッドいらないかも

んー、assignメソッドとかいらない気がしてきた。どうせ連想配列に入れるんだし。 stash['bar'] = 'baz'; // $this->assign('bar', 'baz'); 今まで $this->render(); } } あ、stashっていう変数名はCatalystから拝借。

Speedy HTML Template Utilities

php

MoonyでSpeedy HTML Template Utilitiesを使うのはどうだろう、と考えていたら、もうZend Frameworkで使えるようにしている人を発見。仕事早いなぁ。 http://www.revulo.com/ZendFramework/Component/Speedy.html まぁいずれにせよ、Speedy HTML Template Ut…

ドキュメントを

Google Codeのwikiにちょっとずつ書いていくことにする。 http://code.google.com/p/moony/

ちょっとしたメモ。

新版Moonyのはじめかた(localhostで開発する場合)。 http://code.google.com/p/moony/ からコードをチェックアウト ApacheのDocumentRootにindex.phpを作成 actionDir = 'actions'; $moony->templateDir = 'templates'; $moony->start(); actions、templat…

自分だけの車輪を作る

プログラミングも表現の一形態であるならば、色々な書き方ができることが重要なのかな、と。道具としての効率性、という面だけから考えると、皆が同じツールで、同じ書き方、できるだけ再利用して作る、というのがよいように思えるけれど、逆に多様性を重視…

viewヘルパー関数とか作らないと

テンプレートで文字を出力する用。

Google Codeに移行しようかな

Moonyのリポジトリとかプロジェクトページとか、Google Codeに移行しようかなと思ってます。とりあえず試用中…。http://code.google.com/p/moony/