2016-09-19 7 views
0

私は現在オートロードを行っていますが、オートローディングはrequireまたはincludeと同じである可能性があることを認識しており、必要ではなくオートローディングを使用する利点があるかもしれないという結論に至りました。または含む。 phpファイルでクラスを使用するためにrequireやincludeの代わりにautoloadを使用する利点は何ですか?autoload vs include or require in php

+3

明らかではありませんか? require/include行を書く必要はありませんか? – SOFe

答えて

1

ファイル内で作業しているときに、その機能を使用するために上部の他のファイルを要求する必要があります。

要件によっては、そのリストが非常に長くなることがあります。すべてのファイルでこれを行うのは面倒で、汚れていて避けることができます。

したがって、ファイルを自動読み込みします。

たとえば、すべてのクラスをクラスという1つのフォルダの下に置くことができます。そして、あなたがオートローダーを書くことができ、ブートストラップファイルを作成:この作業を行うには

spl_autoload_register(function ($class) { 
    require_once 'classes/' . $class . '.php'; 
}); 

を、あなたがしなければならないすべては、同じファイル名とクラス名を保持しています。

これ以降、このブートストラップファイルのみを必要とする必要があり、すべてのクラスが自動ロードされます。

+0

また、配列内のすべてのクラスを追加することができます。多くのファイルを含めずにすべてのクラスを自動ロードします。 – athene

+0

どうすればいいですか?配列ではなくファイルを要求/含めることができます。あなたはコントローラのような他のフォルダ、クラスがあるシステムを持っているかもしれません。その場合、フォルダ名の配列を作成し、それらをループしながら、class.Andで必要とするものをspl_autoload_register関数の中で実行することができます。 – Bonzo

+0

それはまさに私が何を意味するのかというと、私は通常、フレームワークを持つコントローラを使用しますが、フレームワークを使用していないと言います。実際にコントローラが必要ですか? – athene