これは2つの部分からなる質問ですが、両方の部分は密接に関連しています。
Webサイト用のページデコレータAPIを作成し、デコレータクラスのオートローダーをサイト全体のインクルードファイルに配置しました。別の開発者は、オートローダーをどこでも使用することは非常に危険であり、奇妙なエラーを引き起こす可能性があるため、これは非常に悪い考えだと考えました。たとえば、オブジェクトをセッションにシリアル化し、自動ロードされたクラスの1つが同じ名前とを持っている場合、そのオブジェクトは__wakeup()実行されます(これを試しましたが、再現できませんでした)。自動読み込みが危険であるというのは本当ですか?もしそうなら、それはどのような潜在的な危険を持っており、それらをどのように回避することができますか?私はを使用していませんが、を使用し__autoload()た自動ロード関数を使用していspl_autoload_register()ます。
自動ロードの使用に対して彼が持っていたもう1つの議論は、ファイルを直接含めるよりも遅いということです。これはおそらく非常に明白です。デコレータが各ページで機能することが保証されるためには、すべてのデコレータクラスを含める必要があると主張したので、彼の提案は、インクルードを取得して必要なクラスを作成するファクトリクラスを作成することでした。何度も続けることはできますが、多くの人が自動読み込みのメリットを宣伝し、どのアプリケーションも高速になると言っているのを聞いています。私はそれがとても好きですが、それでも私は最善かつ最速のことをしたいと思っています。助言がありますか?