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

Singletonモデルの作り方

次のようなモデルがあったとする。

FormPopulationFilterの概要

今日はFormPopulationFileterのコードを読んでました。結構長くて時にトリッキーで楽しかった分疲れました。 あとで文章に起そうと思って概要をマインドマップにまとめながら読んでたんですが、あまりに疲れたので今日はマインドマップのままで勘弁してやっ…

strpos($str, $token) === 0と$str[0]===$token

FormPopulationFilterを眺めてたらstrpos($action, '/')===0とかいう記述があったのでこれも含めて再度ベンチマークをとってみた。前回より微妙に早くなってるのは$tokenも先に定義してるので""のパース時間が短縮されたおかげだと思います。 [senna@vine se…

バリデータの使い方

agaviのバリデータの動作などについてざざっと説明しときます。 ソースを読んで書いていて動作確認はしてませんので、各機能を実際に利用する場合は鵜呑みにはせず適宜動作確認してください。動作確認が取れたら連絡していただけると幸いです。 バリデーショ…

substr($str, $n, 1)と$str[$n]のベンチマーク

AgaviDependencyManager::checkDependenciesをみてたらsubstr($token, 0, 1)とかしてたので、念のためベンチマークとってみた。 環境はPHP5.2.2 [senna@vine senna]$ time php -r '$str="aaaaa"; for($i=0; $i < 1000000; $i++){ substr($str, 0, 1) == "a";…

PHP Framework Fight! 参加します

巷でうわさのPHP Framework Fight!に参加表明してきました。もちろんAgaviで。 一応、ORMやテンプレートエンジンに何を使うかなどは、そのフレームワークで「一般的」とされている方法ならヨシとします(例えば、symfonyならDoctrineじゃなくてPropelだよね…

AgaviOroperatorValidatorの使用例

<validator class="or" name="oroperator_sample"> <validators> <validator class="string"> <argument>password</argument> <parameter name="min">4</parameter> <error>セキュリティレベルを2以上に設定する場合は公開用パスワードを入力してください。</error> <error for="min">4文字以上のパスワードを設定してください</error> </validator> <validator class="number"> </validator></validators></validator>

pecl haru*1をCentOSにインストールするには

PHP

haruPDFを利用するにはまずlibharuをインストールする必要がある。トリアエズrpmにしてみた-rpm置き場 rpmをインストールしたら次はpecl haruのインストール。 pear install pecl/haru-0.0.1するとprefixをどうするか聞かれるので all /usrと答える。enterを…

PHPでPDFを出力するには

PHP

PHPでPDFを出力することを考えた場合、よく使われている方法はPDFlib,FPDF,TCPDFの3つになる。けれどPDFlibについては有料であり、FPDF,TCPDFはフォントの準備が煩雑であったりとそれぞれ問題を抱えている。 そこで、いっそのことフリーのCライブラリのラッ…

パブリックドメインライセンス

のむらさんが自分の撮影した写真を公開する際のライセンスについて悩んでいるようなので、適当に作ったものを公開するときに愛用しているNYSLを改変してNYSILを作ってみた。 A. この画像は Everyone'sImage です。この画像を手にした一人一人が、 ご自分で撮…

PostgreSQLをyumでゲット!

PostgreSQL公式?のrpmをyumからインストール/アップデート出来るようです。下記のサイトからまずはyumレポジトリをインストールして、ディストリビューションがデフォルトで参照しているレポジトリのpostgresをexcludeすればOKです。http://yum.pgsqlrpms.o…

CentOS5(RHEL5)+LDAP+Apache2+WebDAV+Subversion設定メモ

LDAPの設定 設定に関してはLDAPによるパスワードの一元管理を参考にすればよいが、一点注意が必要。 記事中ではuserPassword属性に関するアクセス制限が access to attribute=userPassword by self write by dn="cn=root,dc=itboost,dc=co,dc=jp" write by a…

エンサイツ株式会社に入社しました

エンサイツは公式ケイタイサイトの企画開発運営などを行っている会社です。 学部時代からアルバイトとして勤めていて、一時期は社員なみに働いていたので新入社員感は全くありませんが、晴れて社会人となりました。 今後ともよろしくお願いします。