私は MVC をプログラミングしていますが、アドバイスが必要です。spl_autoload_register を使用して、コントローラー、モデル、コア クラスを含むすべてのクラスを自動的にロードするのが賢明でしょうか。そうしないと、問題が発生したり、パフォーマンスが低下したりする可能性があります。
2 に答える
これはおそらく多くの要因に依存しますが、私はすべてのクラスを自動的にロードするフレームワークを使用し (広範な場所を調べる比較的大きな autoload 関数から)、多くのネストされたインクルードを使用しました。そのようなオートローディングのパフォーマンスの問題にまったく気づいたことはありません。インクルードの競合も心配する必要がないため、作業が大幅に簡素化されます。
私が言ったように、しかし、それは依存するかもしれません. ベンチマークでどの方法がより高速かをテストするのはあなた次第です。より遅い実装に関して好ましい方法がある場合は、速度の違いが劣っているがより高速な実装を使用するのに十分かどうかを決定する必要があります。
ほとんどの場合 - はい、そうです。ご想像のとおり、クラスを手動でロードするとパフォーマンスが向上しますが、たとえば、多くのファイル (PHPExcel など) から構成されるライブラリがある場合にのみ、パフォーマンスが少し向上しますが、この場合でも使用することをお勧めします。オートロード。
合計: ほとんどの場合 (特に従来のサイトの場合)、手動読み込みはマイクロ最適化です。
この機能に対処する最善の方法は、パフォーマンスに問題があると思われる場合は、ベンチマークを起動することです。すべてがアーキテクチャ フレームワークに依存するため、ベンチマークが最適な方法です。