私は、オープンソースPHPプロジェクトのプレリリース段階にいます。これは、他の開発者が自分のプロジェクトで使用することを望んでいます。このプロジェクトは現在、名前空間をサポートしていません。名前空間を使用するべきか、Dir_Subdir_ClassのPEAR命名規則を使用するべきかを評価しようとしています。正直に言うと、簡単な選択ではありません。
名前空間に対するいくつかの考慮事項:
- 私のプロジェクトが、他の同様のプロジェクトよりもシンプルなAPIを提供することにより、差別化を図っている方法の1つ。名前空間は新しく、PEAR命名規則よりも複雑であるため、コードベースに名前空間を導入すると、プロジェクトの使用が簡単ではなくなります。それらを実装することで、使いやすさの点で差別化を失います。
- 名前空間にはいくつかの利点がありますが、PEAR命名規則を使用する最新のPHP製品で解決する必要のある問題は解決しないようです。プロジェクトの使用中に名前の競合が存在しない場合は、最小限にする必要があります。
- この記事では、名前空間の実装が恒星以下であるため、名前空間の採用を一時停止しました。
- また、どこにも行かないかもしれない時流に飛び乗ることをためらっています。名前空間はPHPの新機能であるため、標準になるとはまだ確信していません。
- 互換性。これまでに記述されたほとんどすべてのPHPコードは、新しい機能であるため名前空間を使用しません。他のライブラリは、変換なしでは互換性がありません。
名前空間を使用するためのいくつかのポイント:
- 知覚。名前空間が標準になり、ベストプラクティスになると、私のプロジェクトはすぐに専門家ではなく、時代遅れのものと見なされるようになります。
- コンペ。競合するPHPプロジェクトの中には、最新バージョンで名前空間を使用し始めているものもありますが、多くはまだ飛躍を遂げていません。これを行うと、私のプロジェクトに他のプロジェクトの足がかりを与えることができます。
- プロジェクトを公開する前ではなく、公開する前に切り替えを行うと、しばらくの間2つのバージョンをサポートする必要があるため、将来の作業は容易になります。
- ベストプラクティスをサポートしたいので、名前空間がPHPのベストプラクティスになった場合、プロジェクトはそれらを使用する必要があります。
私が言えることから、あなたはどちらかの方法を選ばなければなりません。両方を行うことはできません。検討していない点はありますか?PHPのプロフェッショナルな標準になるネームスペースに向かってまたは反対することを示す客観的な兆候はありますか(フレームワークはありません)。すぐに決定する必要があるので、あなたが喜んで共有してくれるであろう洞察やリソースに感謝します。