PHP版Path::Class

え?あぁ。Perlerなら皆さんご存知のPath::Classですが、それのPHP版です。欲しかったので作りました。

以下使い方例。

<?php
require_once 'Path/Class.class.php';

$dir  = cdir(array('foo', 'bar'));      # Path_Class_Dirオブジェクト
$file = cfile(array('bob','file.txt')); # Path_Class_Fileオブジェクト

print "dir: $dir\n";  # foo/bar
print "dir: $file\n"; # bob/file.txt

$subdir  = $dir->subdir('baz');  # foo/bar/baz
$parent  = $subdir->parent();    # foo/bar
$parent2 = $parent->parent();    # foo

$dir2 = $file->dir();            # bob

# DirectoryIteratorオブジェクトを返す
$dir_handle = $dir->open();

# SplFileObjectオブジェクトを返す
$file_handle = $file->open();

まんまですね。

Perl版と違うのはショートカット関数がcfileやcdirのようにcが先頭についているところです。これはfileやdirだとPHPの場合、既に標準関数で存在しているからです。

childrenやrecurseもあるし、PHP版のみの機能としてget_contentsやput_contentsも用意してる親切設計ッ!

さて、今日始めてgitを使ってみました。が、正直全然わかりません!

でもgithubをどうしても使ってみたかったので色々調べて一応なんとかなりました。

また、github初めて記念としてPHP版HTML_FillInFormやPHPSQL_Abstractもアップしてみました。

実はこれらのPHPクラス、今までにちょこちょこバージョンアップしてたのですが、いかんせん放置気味だったので一旦区切りを付けるという意味でgithubにアップしてみた次第です。

使ってる人はそんなにいないかもしれませんが、今後ともよろしゅうお願いします。

・・・と、思ってたらid:naoyaさんがSQL_Abstract関連の物凄いタイムリーな記事をアップしててちょっとビビッた。俺がgithubにアップするために今日一日色々準備してたのを知っていたというのかッ!

とまぁそういうことで、約半年ぶりの更新でした。

Path_Class解説→PHPでPath_Classを使ってらくらくディレクトリorファイル操作 - Unknown::Programming