ホームページ > PHPフレームワーク > ThinkPHP > thinkphp3 にはファサード クラスがありますか?

thinkphp3 にはファサード クラスがありますか?

WBOY
リリース: 2022-04-07 16:45:39
オリジナル
2155 人が閲覧しました

thinkphp3 にはファサード クラスがあります。 Facade は、テスト容易性とスケーラビリティが向上した、コンテナ内のクラスの静的呼び出しインターフェイスを提供します。静的でないクラス ライブラリに対してファサード クラスを定義できます。構文は、「class Test{public function Class(){return path;}}」です。 」。

thinkphp3 にはファサード クラスがありますか?

この記事の動作環境: Windows 10 システム、ThinkPHP3 バージョン、Dell G3 コンピューター。

thinkphp3 にはファサード クラスがありますか?

ファサードは、コンテナ内のクラスの静的呼び出しインターフェイスを提供します。従来の静的メソッド呼び出しと比較して、テスト容易性と拡張性が向上します。非静的クラス ライブラリの facade クラス

facade を使用する理由

1. 静的メソッドと非静的メソッドの違いメソッド (さまざまな呼び出しオブジェクトと参照変数)

静的メソッド: static キーワードで変更されたメソッドであり、クラス メソッドとも呼ばれます。オブジェクトではなくクラスに属し、インスタンス化されたオブジェクトは、クラス名とメソッド名を使用して静的メソッドを呼び出すことができます。 (静的属性と静的メソッドはクラスに属しており、クラス名を通じて直接呼び出すことができます)。

A. 静的メソッドでは、静的メソッドを呼び出すことができます。

B. 静的メソッドでは、非静的メソッドを呼び出すことはできません。

C. 静的メソッドでは、クラス変数 (つまり、静的によって変更された変数) を参照できます。

D. 静的メソッドでは、メンバー変数 (つまり、静的変更が行われていない変数) を参照することはできません。

E. 静的メソッドでは、super キーワードと this キーワードは使用できません

非静的メソッド: 静的キーワードの変更を含まない通常のメソッドであり、インスタンス メソッドとも呼ばれます。そしてメンバーメソッド。クラスではなくオブジェクトに属します。 (メンバー属性とメンバー メソッドはオブジェクトに属しており、オブジェクトは new キーワードを使用して作成し、オブジェクトを介して呼び出す必要があります)。

A. 通常のメソッドでは、通常のメソッドを呼び出すことができます。

B. 通常のメソッドでは、静的メソッドを呼び出すことができます

C. 通常のメソッドでは、クラス変数とメンバー変数を参照できます

D. 通常のメソッドでは、 super キーワードと this キーワードを使用できます

2. 静的メソッドと非静的メソッドの違い (呼び出しメソッドの違い)

静的メソッドは直接呼び出すことができます。クラス名の呼び出しとオブジェクトの呼び出し。 (クラス名.メソッド名 / オブジェクト名.メソッド名)

ただし、非静的メソッドはオブジェクトを通じてのみ呼び出すことができます。 (オブジェクト名.メソッド名)

3. 静的メソッドと非静的メソッドの違い (ライフサイクルの違い)

静的メソッドのライフサイクルは次のとおりです。対応するクラス Long と同様に、クラスの定義時に静的メソッドと静的変数が割り当てられ、メモリにロードされます。静的プロパティと静的メソッドは、スレッドが終了するまで破棄されません。 (つまり、静的メソッドはクラスに属します)

非静的メソッドのライフサイクルは、クラスのインスタンス化されたオブジェクトと同じ長さです。クラスがオブジェクトをインスタンス化する場合にのみ、非静的メソッドは作成され、このオブジェクトが破棄されると、非静的メソッドもすぐに破棄されます。 (つまり、非静的メソッドはオブジェクトに属します)

概要:

クラス メソッドはクラス名を通じて直接呼び出すことができ、インスタンス メソッドは最初にクラスをインスタンス化する必要があります。

#使用方法

1. フォルダー ファサードを作成する

# ファサード クラスを配置する必要がある場所 ##2. 独自のパブリック クラスを作成します

3. 次のようにファサードにファサード クラス コードを作成します

use think/Facade;
class TestFacade extends Facade{
protected static function getFacadeClass(){
return '写好的目标公共类绝对路径';
}
}
ログイン後にコピー

4.このパブリック クラスを呼び出すと、ファサード クラスを直接使用してパブリック クラスを置き換えることができるため、パブリック クラスの非静的メソッドを静的に呼び出すこともできます。

推奨学習: 「

PHP ビデオ チュートリアル

」 「

以上がthinkphp3 にはファサード クラスがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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