hnwの日記

PSR-0 を和訳してみた

先週の土日にPHPMatsuriに行ってきました。ナイスなイベントでしたね。その感想はまた改めて書きますが、Nate Abeleによるセッション「Practical PHP 5.3」で触れられていたPSR-0を適当に訳してみました。これはPHP5.3の名前空間とクラス名に関する標準化の試みで、少なくともZendFrameworkとsymfonyの中の人が関わっているようです。


うまく訳出できなくて苦し紛れのところもあるので、修正すべき箇所があれば教えてください。


元の文章は http://groups.google.com/group/php-standards/web/psr-0-final-proposal にあります。以下はその和訳です。

PSR-0 最終提案

以下で、オートローダーの相互利用性を確保するための必須要件について記述します。

必須要件:
  • 名前空間とクラスの完全な名前として、次のような構造を持たせてください。 \<ベンダー名>\(<名前空間>\)*<クラス名>
  • どの名前空間も、トップレベルの名前空間として「ベンダー名」を持つ必要があります。
  • どの名前空間も、第二レベル以下については好きなように使うことができます。
  • 名前空間の区切り文字(訳注:つまりバックスラッシュ1文字)は、ファイルシステムからロードする際にはDIRECTORY_SEPARATORに変換されます。
  • クラス名に含まれるアンダースコア文字はDIRECTORY_SEPARATORに置換されます(訳注:当然、ロードの際の話題でしょう。PEARなどの命名規則に基づいた、後方互換性のための仕様だと考えられます)。名前空間に含まれるアンダースコア文字は特別な意味を持っていません。
  • ファイルシステムからロードする際、名前空間とクラスの完全な名前の後ろに「.php」を補ったファイル名を利用します。
  • ベンダー名、名前空間およびクラス名に含まれるアルファベット文字は、大文字と小文字をどう組み合わせても問題ありません。
続きを読む