PHP
代わりにhttp://agaviproject.org/をご利用ください。 復活したようです。
タイトルのようなことをdavidに言われてしまった。notice消すためにstrlen入れたら遅くなし読みにくいよねと。そのままではやりきれないので、こんなことをしてみた。 [senna@vine senna]$ time php -r '$str="abaed"; $token="a"; for($i=0; $i < 1000000; …
PHP Framework Fight!の続報が発表された模様。 詳細はPHP Framework Fight! 続報1を参照してください。アドバイスが受けられるのは助かります。きっと英語が上達することでしょう。発表された仕様を見て一つ気がかりなことがあります。仕様ではtwitterライ…
リリースアナウンス邦訳を掲載します。 思っていたよりも時間が掛かってしまいましたが、ついにできました。 Agavi 0.11.1 RC3 は多くの小さな問題の修正と最新のタイムゾーンデータベースを伴っています。 注目すべきは、キャッシングに関する2つの問題が…
次のようなモデルがあったとする。
今日はFormPopulationFileterのコードを読んでました。結構長くて時にトリッキーで楽しかった分疲れました。 あとで文章に起そうと思って概要をマインドマップにまとめながら読んでたんですが、あまりに疲れたので今日はマインドマップのままで勘弁してやっ…
FormPopulationFilterを眺めてたらstrpos($action, '/')===0とかいう記述があったのでこれも含めて再度ベンチマークをとってみた。前回より微妙に早くなってるのは$tokenも先に定義してるので""のパース時間が短縮されたおかげだと思います。 [senna@vine se…
agaviのバリデータの動作などについてざざっと説明しときます。 ソースを読んで書いていて動作確認はしてませんので、各機能を実際に利用する場合は鵜呑みにはせず適宜動作確認してください。動作確認が取れたら連絡していただけると幸いです。 バリデーショ…
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!に参加表明してきました。もちろんAgaviで。 一応、ORMやテンプレートエンジンに何を使うかなどは、そのフレームワークで「一般的」とされている方法ならヨシとします(例えば、symfonyならDoctrineじゃなくてPropelだよね…
<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>
haruPDFを利用するにはまずlibharuをインストールする必要がある。トリアエズrpmにしてみた-rpm置き場 rpmをインストールしたら次はpecl haruのインストール。 pear install pecl/haru-0.0.1するとprefixをどうするか聞かれるので all /usrと答える。enterを…
PHPでPDFを出力することを考えた場合、よく使われている方法はPDFlib,FPDF,TCPDFの3つになる。けれどPDFlibについては有料であり、FPDF,TCPDFはフォントの準備が煩雑であったりとそれぞれ問題を抱えている。 そこで、いっそのことフリーのCライブラリのラッ…
23のバグフィックスと幾つかの変更を含む0.11.1のRC1がリリースされました。 リリースメールを簡単に要約すると次のようになります。 変更点(キャッシング、DBセッションストレージ)をとことんテストしてください 12月30日(日本時間だと31日かも)にゾーン情…
Agavi-0.11がリリースされたら参加すると表明していましたが、開催日の12月22日は予定が入っているため参加できそうにありません。 1月は1月で多忙が予想されるのでまず不可能です。 結果、agaviに関して発表するのは2月以降になると宣言しておきます。via: …
もう少し追加で邦訳してみた http://www.mugeso.com/agavi-docs/RELEASE_NOTESでも、アップロードする前にのむらさんにさき越されてた。 agavi-0.11 のリリースノート和訳(Views and Rendering) agavi-0.11 のリリースノート和訳(Configuration) 後々統…
いまさらですが、しかも冒頭だけですが一応どうぞ http://www.mugeso.com/agavi-docs/RELEASE_NOTES
待ちに待ったagavi-0.11がリリースされました。 今後は0.11ブランチをメンテしつつ、1.0リリースに向けてドキュメントの強化や外部ライブラリとの協調性向上作業を行っていくと思われます。
なんとなくリリースメールを訳しておきます。 agavi-0.11RC7がリリースされました。 2つのバグが修正され、また2つの追加機能が実装されています。ADD: "default_extension" パラメータを通してレンダラ*1のデフォルト拡張子を直接指定できます (#594) (Davi…
なんだか先ほどagavi.orgのDNSが落ちていたので思い出しました。 メンテナンスが行われるのは2007年10月24日(水) 2:25am (UTC)から およそ5:30am(UTC)までです。日本時間で言うと10月24日11:25から14:30になります。 メンテナンス中はagavi.orgドメインで行…
agavi 0.11RC6がリリースされました。
CHANGELOGにリリース日が追加されたりしています。もうすぐRC6が出ると思われます。 http://trac.agavi.org/changeset/2132
同様に、内部でcreate_functionしている関数を何度も呼び出すとメモリを消費してしまいます。 スコープを抜けてもcreate_functionで作られた関数の実体はそのまま残るということです
Agaviのソースを眺めていてるとcreate_functionをループの中で使っていたので少し気になったので調べてみた。
こんなテストコードを書いてみました。一応同じ行に表示するようにしてあります。カーソルも消したかったんですがうまくいかず。。。(Poderosa利用)
一つ前のエントリの続きです。 IRCで開発者の一人であるMikeと話した結果、小馬鹿にされつつ、Responseをいじくらないでモデルを作れと言われたので素直に従うことにしました。モデルがexecutionContainerを持ってこれを実行し、結果をgetContentする方針で…
AgaviのView部分(Response構築)はよくできている。キャッシュありスロットありレンダラの切り替え有り。 こいつをなんとか他方への出力―メール送信、ファイル書き出し、どこぞのサービスへのPOST―なんかに使えないものかと考えた。 まず、AgaviResponseクラ…
ちょと前のエントリにid:masugataさんのところからトラックバックが来ていることにビックリしつつ。goto文とその他諸々についてのお話。 goto文の存在意義についてはやっぱり疑問は多いですよね。 例外処理が無い言語やLoop処理がネストしまくった状態で一気…
よくきたblogで紹介されていた本をちょっぴり立ち読みしてきた。あまりの内容についつい笑ってしてしまった。 ・文法的にE_NOTICEが出るサンプルばかり(最悪デバックできないほど,パフォーマンスに影響の出るレベルのログへの警告出力になります) これを読…
Action::initializeでrequest dataにアクセスしようとして「おや?これはもしかしてバリデート前のじゃないか?」とおもってTracを見ると優先度が高になっていた Potentially unsafe global request data is accessible in Action::initialize() and View::i…