ホームページ >バックエンド開発 >PHPチュートリアル >ThinkPHP3.1_PHPチュートリアルのDメソッド例を詳しく解説

ThinkPHP3.1_PHPチュートリアルのDメソッド例を詳しく解説

WBOY
WBOYオリジナル
2016-07-13 10:24:34925ブラウズ

D メソッドは、カスタム モデル クラスをインスタンス化するために使用され、シングルトン モードを実装し、プロジェクト間呼び出しとグループ呼び出しをサポートします。形式は次のとおりです:

D('[project://][group/]model','モデルレイヤー名')

メソッドの戻り値は、インスタンス化されたモデル オブジェクトです。

D メソッドは、カスタム モデル クラスが存在する場合は、そのカスタム モデル クラスがインスタンス化されます。それと同時に、モデルの基本クラスがインスタンス化されます。インスタンス化は繰り返されません。

D メソッドの最も一般的な使用法は、現在のプロジェクトのカスタム モデルをインスタンス化することです。例:

リーリー

は現在のプロジェクトに Lib/Model/UserModel.class.php ファイルをインポートし、UserModel クラスをインスタンス化するため、実際のコードは次と同等になります。

リーリー

ただし、D メソッドを使用する場合、UserModel クラスが存在しない場合は、自動的に呼び出されます

リーリー

2 回目の呼び出し時に再度インスタンス化する必要がないため、オブジェクトのインスタンス化のオーバーヘッドをある程度削減できます。

D メソッドは、グループやプロジェクト全体でのモデルのインスタンス化をサポートできます。例:

リーリー

注: プロジェクト間呼び出しモデルを実装するには、2 つのプロジェクトのディレクトリ構造が並列であることを確認する必要があります。

ThinkPHP はバージョン 3.1 以降、階層モデルのサポートを追加したため、D メソッドは他のモデルをインスタンス化することもできます。例:

リーリー

そして D('User','Service'); は Lib/Service/UserService.class.php をインポートしてインスタンス化します。これは次のコードと同等です。

リーリー

http://www.bkjia.com/PHPjc/825415.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/825415.html技術記事メソッド D は最も一般的に使用されるメソッドです。これは、ThinkPHP フレームワークによるモデル クラスのインスタンス化のカプセル化であり、クロスプロジェクトと...
をサポートします。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。