Agavi-0.11.3RC1 Agavi-1.0beta2リリース

0.11.3RC1と1.0beta2がそろってリリースされたようです。1.0beta2からはアクション・ビュー・モデルのそれぞれの命名規則が厳密化され、たとえばmodules/Foo/action/Bar/BazAction.class.phpに配置されるアクションの場合はFoo_Bar_BazActionという名前にす…

MobilePictogramConveter PHP5対応版を更新

PHP

MobilePictogramConverterをPHP5に対応させたものを以前公開しましたが、全く動作確認をしていませんでした。今回はPHPUnit3によるテスト追加して一応動作確認を取ったのものを公開します。MobilePictogramConverter-1.2.0-php5

phpgeomobilejpを使ってみた

PHPで携帯の位置情報を扱うライブラリphpgeomobilejpを使ってみた。使い勝手がよさげ。ただ、format変換をかけたとき誤差が出るので注意が必要です。via: PHPで携帯位置情報を扱うライブラリ「Geomobilejp_Converter」を作りました

convert from camelCase to snake_case

キャメルケースからsnake_case(アンダースコア)に変換するメモ 1) echo strtolower(preg_replace(array('/([A-Z]+)([A-Z][a-z])/', '/([a-z\d])([A-Z])/'), '$1_$2', $argv[1])), PHP_EOL; ?>

PHP<5.3での遅延静的束縛エミュレート

PHP5.3からは遅延静的束縛(Late Static Bindings)によって子孫クラスの静的メソッドを呼び出すことができるようになった。 同じことを5.3より前のバージョン*1で行う方法 = 5.3 (Late Static Bindings) echo '-- use sta…

Agavi-1.0BETA1リリース

ついに1.0系が来ました。とりあえずBETA1です。では早速アナウンスメール邦訳です。(一部、文が長かったので箇条書きに改めてあります。) こんにちは皆さん。3年強の開発の末、Agaviはついに最初の1.0マイルストーン 1.0.0 beta 1のリリースを迎えました! h…

「?:演算子」使える場面Part2

PHP

Doctrineは検索結果が0件の場合falseを返してくることを思い出した。ということはこれだ find($user_id, Doctrine::FETCH_ARRAY) :? array('user_id'=>'anonymous'); ?>

「?:演算子」使える場面だってあるさ!

PHP

そろそろそろそろ「?:演算子」について一言言っておくかに一言言っておくか最近、配列で利用する可能性のあるキーすべてをとりあえず初期化するようにしている。 null, 'enable_hoge'=>false, 'name'=>'nobody' ); ?> なので、 'anonymous', 'enable_hoge'=>…

PHP4お疲れ様

PHP

今日でEOLを迎えたPHP4 今までありがとう。

MobilePictogramCoverterを使おうと思った

PHP

MobilePictogramConverterを使おうと思った。ブログで報告されているバグがあるようなので修正してた。 それとPHP5的にグローバル定数ってどうなのよってことで、グローバル定数をMobilePictogramConverterクラスに取り込んでみた。 そして今、修正版を公開…

Subversion-1.5でsvn:externalsに相対パスを使う

subversion-1.5からsvn:externalsに相対パスを使えるようになったというので使おうとして少しはまったのでメモ。エイリアスと参照先の順番が逆になっている。すなわち、相対パスを指定する場合、今まで同じレポジトリ内のprojectAからprojectBを/projectA/tr…

libharuのバージョン上がってた

気がついたらlibharuのバージョンが2.1.0に上がってました。でも、pecl haruが変更されてないので動かないかも。 後で試してみます。

agaviの雑学

今日は技術的な話は置いておいて、Agaviの名前に関するお話。 Agaviという名前はAgave(英語名。和名ではリュウゼツラン)から来ている。Agaveはモハーヴェ砂漠(Mojave Desert)など北アメリカ南西部に自生している植物だそう。そしてモハーヴェ砂漠はAgaviの前…

slotから外側のviewにお伝えしたいことがある。

slotとして呼び出されたviewやテンプレートから外側のviewのattributeあるいはテンプレート変数に値を入れたい。具体的にはcssやjavascriptを指定したい。javascriptはbody内でも呼び出せるけどできればヘッダに配置したほうがきれいじゃない。あと同じの2回…

$view->setAttribute('_title', 'タイトル')をテンプレートで呼び出す

Agavi-0.11系でテンプレートから$viewを使えるように設定している場合、$view->setAttribute()を呼び出すことでそれ以降に呼び出されるレイヤでそのアトリビュートが有効になり$templateからアクセスできるようになる。 これを使うとデコレータで用いるMaste…

レイアウトごとにデフォルト属性を設定

この記事を修正翻訳したものをagaviのuser-MLにpostしました。そちらもあわせてご覧ください。 Agaviにはoutput_type.xmlで設定するレイアウトというのがある。これをViewで$this->loadLayout($name);するとテンプレートやらスロットやらを読み込んでくれる…

Agavi-0.11.2リリース

Agavi-0.11.2がリリースされました。このリリースでは0.11.1から使い勝手が大幅に向上していると思います。 まずは、毎度のリリースアナウンス邦訳を。(やたら短いので少し砕けた日本語にしてみた) やあ みんなAgavi 0.11.2 でました!今回はRC2から2つだけマ…

Agavi-0.11.2RC2リリース

Agavi-0.11.2RC2がリリースされました。例によってアナウンスメールを邦訳しました。 こんにちは皆さん、 Agavi 0.11.2 RC2 が出ました! http://trac.agavi.org/browser/tags/0.11.2RC2/CHANGELOG にRC1からの3つの細かな修正についての詳細があります。 で…

0.11.2RC1リリースアナウンスとリリースノート

リリースアナウンスから やあ、みんな Agavi 0.11.2 RC1 がでました! この保守リリースでは少しのバグフィックスと幾つかの機能追加を行っています。 注目すべきは、1.0からもいくつか機能がバックポートされた点です。 レイアウトを伴ったものも含めてView…

0.11.2RC1リリースしてます

リリースアナウンスは後で訳します

勉強会で発表しようとしていた資料

PHP

PHP勉強会にはドタキャンで参加できず申し訳ありませんでした。枠の関係で参加できなかった方本当にすみませんでした。 発表するために作っていた資料をアップしました。 http://mugeso.com/XMLinAgavi.pdf

とりあえずベンチ

via: 問. 配列を+(プラス)演算子で加算すると? : アシアルブログ [senna@vine senna]$ time php -r '$a = range(0,10); $b = range(0, 10); for($i=0; $i<1000000; $i++) $c = array_merge($b, $a);' real 0m24.783s user 0m23.270s sys 0m0.030s [senna@vi…

ものすごくどうでもいいかもしれないけれど

PHP

なんでis_numeric使わないでpreg_match使っているんだろう。。。

Firefox Download Day 2008 国別ランキング

昨晩作って力尽きて寝てる間に他で紹介されてしまったわけですが、FirefoxDownloadDay2008の国別登録者数ランキングを作りました。 リアルタイムでとってきてます。参考までにどうぞ。

どうやらpecl/haruがインストールできないのでlibharuのrpm更新しました。

PHP

本番環境にpecl/haruをインストールしようとしても通らなかったので、調べてみるとlibharuのrpmに不具合がありました。 pecl/haruはビルド時にhpdf.hを必要としますがこいつが芋づる式にlibharu内のヘッダを読み込んでいるのに、libharuは-sオプションつけて…

agavi-1.0はPHP5.2.0以降を必要とするらしい

http://trac.agavi.org/changeset/2503 RHEL/CentOS5.1だとそのままは動かせなくなるね。

これイタズラに使えそうだ

FlashでWindowsXPを再現しているらしい。http://www.readatwork.com/ だれか席を離れている間にこの画面表示しといたら面白いことになりそうだ。via 秋元@サイボウズラボ・プログラマー・ブログ

XPath編集するのに便利なもの

Web

FPFを使うにはXPathをいろいろ使うことになる。そこで便利ツールを紹介. XPath式エディタ2

FPFのerror_class_mapの動作

agavi-0.11.1まではerror_class_mapで指定したXPathは、XPathで指定した要素が存在するかをチェックするためだけに使われています。 以前書いたマインドマップではこれを誤ってXPathで指定した要素に指定されたクラスを追加すると書いてしまいました。ごめん…

ルーティングのパターンで\w{2,5}をつかう

Agaviのルーティングではルートのパターンを正規表現で指定します。その際、回数指定の繰り返しをあらわす{}を使った記法がそのままでは通りません。 なぜうまくいかないのかといえば、agavi内で正規表現を拡張してパラメータ指定を行えるようにしたりしてい…