名前空間の大文字小文字は
PHPの言語仕様としては区別しませんが、
PMMPで使用されている
srcディレクトリ以下に適用される
composerの
オートロード仕様によると、区別するようです。そのため、プラグインの読み込み順番によってオートロードが正常に出来たり出来なかったりする問題が発生します。
また、プラグインの読み込み順については不定のため、正常に動作する時としない時があります。
正常に動作するパターン:
- 別のプラグインでpocketmine\plugin\PluginBaseクラスを使用する(composerのオートローダによって正常にロードされる)
- こちらのプラグインでpocketmine\Plugin\PluginBaseクラスを使用する(既に別プラグインによりクラスがロードされているので、PHPの言語仕様に従い正常に使用出来る)
正常に動作しないパターン:
- こちらのプラグインでpocketmine\Plugin\PluginBaseクラスを使用する(クラスがロードされていないため、composerのオートローダによるオートロードを試みますが、ここでは大文字小文字が区別されることによりロードが正常に行えない)
- 別のプラグインが読み込まれる前にクラッシュが発生する