ホームページ > バックエンド開発 > PHPチュートリアル > Xin Xing をフォローして、PHP の自動読み込みについて学びましょう

Xin Xing をフォローして、PHP の自動読み込みについて学びましょう

WBOY
リリース: 2016-06-23 13:53:28
オリジナル
882 人が閲覧しました

フレームワークとして、ファイルをロードするメカニズムは不可欠ですが、それをどのようにロードするかは PHP がすでに考えているので、それを完了できる PHP の関数は 2 つあります。この関数、最初の関数は __autoload ですが、現在はほとんど使用されていません。PHP5.2.1 以降のバージョンが必要なので、安全に使用できます。

以前の PHP バージョンでは、設定ファイル、データベース接続ファイル、ログ ファイルなどの一連のファイル名を必要とすることがよくありました。その後、__autoload 関数が登場し、すべてのインポートを 1 つの関数で完了しました。その利点は、プログラムで処理できることです。たとえば、正規表現を使用すると、一度に n ファイルをインポートできるため、操作にはある程度便利になります。ただし、すべての型を __autoload に記述する必要があります。そうしないと、自動ロードが適切に実装されません。

これで spl_autoload_register ができました。その機能は、n 個のロード関数を登録することです。この組み込み関数をいつでもどこでも使用して、ロードする必要があるファイル名を指定できます。その関数のプロトタイプは次のとおりです。コード 実際にやってみましょう:

まず、次の内容の B.class.php を作成します:

bool spl_autoload_register ( [callback $autoload_function] )
ログイン後にコピー
次に、同じレベルのディレクトリに次の内容の新しい a.php ファイルを作成します:

<?phpclass B {	private $name = "辛星";	private $age = 23;	function getmsg(){		return "姓名是:".$this->name."   年龄是:".$this->age;	}}
ログイン後にコピー
ここでのクラス B は次のとおりです。つまり、クラス B のインスタンスを定義すると、システムはファイルをロードする必要があることがわかり、すべてのロード関数を探して B でそれを見つけるため、正しくインスタンス化できます。 .class.php B の定義は、ファイルがロードされることを意味します。ここでは B.class.php のみがインポートされ、他の同様の形式はインポートされないことに注意してください。




関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート