Tag Archives: yield

Rails: Structured Layout


I wrote the way to build structured layout in Rails.

You can use it when you want to use the same frame according to the page URLs. For example, to show control bar in admin pages.

Continue reading Rails: Structured Layout


php でディレクトリ配下の全ファイルを逐次処理する方法


PHPを使ってディレクトリ配下の全ファイルを再帰的に処理する方法です。 イテレータを使います。

例えば全ファイルの絶対パスを出力するなら次のようにします。

イテレーションする対象をファイルだけに絞ったものを作るのもありですね。 次のように yield を使って関数を作ることもできます。

でもこれは yield を使っているため PHP 5.5 からしか使えません。 FilterIterator を使えば PHP 5.1 から使える関数を作成できます。

このように FileFilterIterator を作り、 $iterator = new FileFilterIterator($anIterator); のようにすれば、ファイルのみの Iterator が作れます。

Iterator なんて 言語の機能に依存しすぎだから readdir つかって自分でイテレータ作るべきだ」というご意見もあります。