質問: 名前空間付きクラスのファイルに名前を付ける方法は? wpコアハンドブック> phpコーディング規約>命名規則 クラスでファイルに命名するために以下を提案します: クラスファイル名は、クラス名の先頭にclass-を付け、クラス名のアンダースコアをハイフンに置き換えたものにします。例えば、wp_errorは次のようになります。 class-wp-error.php セクションの文言からは主に core useを意図していますが、全体的なコーディングスタイルは一般的にサードパーティのwpコードにも当てはまります。しかし、coreは名前空間をサポートしていないので(php 5.2、ugh)、これはそのような場合を説明していません。開発者の利便性の観点からそれを実現するための実用的な方法は何ですか?オートローダのサポートは?私は複数の代替方法を見ることができました: 名前空間をすべて無視する ファイル名に名前空間を含める フォルダレベルとして名前空間を使う psrなどの代替命名規則を完全に使用する
回答: 私はpsr-4と互換性のあるwordpressのコーディング標準と互換性のあるこの要求のためのクラスを作りました。あなたはここでそれに達することができます: https://github.com/pablo-pacheco/wp-namespace-autoloader 説明はすべてですが、基本的には作曲家の依存関係です。あなたのプロジェクトでそれを要求するだけです:"require": { "pablo-pacheco/wp-namespace-autoloader": "dev-master" } それからクラスを呼び出します<?php new \wp_namespace_autoloader( array( 'directory' => __dir__, // directory of your project. it can be your theme or plugin. __dir__ is probably your best bet. 'namespace' => __namespace__, // main namespace of your project. e.g my_project\admin\tests should be my_project. probably if you just pass the constant __namespace__ it should work 'classes_dir' => 'src', // (optional). it is where your namespaced classes are located inside your project. if your classes are in the root level, leave this empty. if they are located on 'src' folder, write 'src' here ) );