ホームページ  >  記事  >  バックエンド開発  >  PHP で一般的に使用されるいくつかのメソッドに関する知識を共有する

PHP で一般的に使用されるいくつかのメソッドに関する知識を共有する

零下一度
零下一度オリジナル
2017-06-23 15:20:571297ブラウズ

はじめに

OOP

私は長い間 PHP を勉強してきました。今日は、PHP の抽象クラスと抽象メソッド/静的プロパティと静的メソッド/ユニットについてまとめます。 PHP Advantage モード (モノモーフィック モード)/シリアル化と逆シリアル化 (シリアル化と逆シリアル化)。

1 PHPの抽象クラスと抽象メソッド

1. 抽象メソッドとは何ですか?
メソッド本体 {} のないメソッドは、abstract キーワードを使用して変更する必要があります。このようなメソッドを抽象メソッドと呼びます。 T 抽象関数 Say (); // 抽象メソッド

2. 抽象クラスとは何ですか?
抽象メソッドを含むクラスは抽象クラスと呼ばれます。抽象クラスは、abstract キーワードを使用して変更する必要があります。 T ABSTRACT Class person {}

3. 抽象カテゴリに関する注意事項 ① 抽象クラスには非抽象メソッドを含めることができます。
② 抽象メソッドを含むクラスは抽象でなければなりません。
③ 抽象クラスはインスタンス化できません。
’’」インスタンス化を制限するだけです。 ! !

4. サブクラスが抽象クラスを継承する場合、サブクラスは親クラスのすべての抽象メソッドをオーバーライドする必要があります。ただし、サブクラスも抽象クラスである場合は除きます。象 抽出 5. 抽象クラスの役割を使用しますか?
①インスタンス化を制限する。 (抽象クラ​​スは不完全なクラスです。内部の抽象メソッドはメソッド本体を持たないためインスタンス化できません) ② 抽象クラスはサブクラスの継承の仕様を提供します。サブクラスが抽象クラスを継承する場合、抽象クラスで指定された抽象メソッドを含めて実装する必要があります。











1. static
① プロパティとメソッドは変更でき、それぞれ静的属性、静的メソッドと呼ばれ、クラス属性、クラスメソッドとも呼ばれます;
② 静的属性、静的メソッドはクラス名を使用して直接呼び出すことしかできません。 「クラス名 :: $ static 属性」、「クラス名 :: static メソッド ()」
person :: $ person ::say (); を使用します。オブジェクトの前に生成されます。
④ 静的メソッドでは、非静的プロパティまたはメソッドを呼び出すことはできません。属性メソッド、インスタンス化はまだ生まれていません)
⑤ クラス内では、self キーワードを使用してクラスを参照できます名前。 Er クラス person {
Static $ Sex = "Nan";
Function Say() {
echo Self :: $ sex;
⑥ static 属性は共有されます。つまり、多くの新しいオブジェクトも同じ属性を共有します。

2.final
①最終的に変更されたクラス、このクラスは最終クラスなので継承できません
②最終的に変更されたメソッド、このメソッドは最終的なメソッドなのでオーバーライドできません!
③finalは属性を変更できません。 ️ st キーワード; (Define () ステートメントと同様に、const の const キーワード宣言には $ を付けることはできず、すべて大文字にする必要があります。
定数は一度宣言すると変更できません。呼び出すときは、static と同じで、クラス名 Person:: constant を使用します。 】 结 [概要] いくつかの特殊な操作記号
1. 文字列 "" "" に接続するだけです
2, = & gt; 関連付けられたキーと値を宣言します ["key" = & gt; ]
3. -> オブジェクト ($this new によって生成されたオブジェクト) はメンバー属性とメンバーメソッドを使用します。
4. : : ①parent キーワードを使用して、親クラス内の同じ名前のメソッドを呼び出します。parent::say();
② クラス名 (および self) を使用して、静的プロパティ、静的メソッド、およびクラス内の定数。

シンプレックスモードはモノモーフィックモードとも呼ばれます


クラスはオブジェクトインスタンスを1つだけ持つことができることが保証できます。 : 点 実装ポイント:
① コンストラクターはプライベート化されており、オブジェクトの作成に new キーワードを使用することはできません。
② オブジェクトを取得する外部メソッドを提供します。メソッド内でオブジェクトが空かどうかを判定し、空であればオブジェクトを返します。 ③ インスタンスオブジェクトの属性と過去のオブジェクトのメソッドを元に戻します。静的。
④ その後は、オブジェクトの作成には提供される静的メソッドのみを使用できます。 $s1 = Singleton::getSingle();




 1 class Singleton{ 2         private static $single=null; 3         private function __construct(){} 4         static function getSingle(){ 5             if(!self::$single){ 6                 self::$single = new self(); 7             } 8             return self::$single; 9         }10         function __destruct(){11             echo "啊,我被销毁了。";12         }13     }14     15     $s1 = Singleton::getSingle();16     $s2 = Singleton::getSingle();17     $s3 = Singleton::getSingle();18     $s4 = Singleton::getSingle();
シングルプロフィットモードのシンプルなコード

2つの静的属性と静的メソッド

一連の操作を通じてオブジェクトを文字列に変換するプロセスオブジェクトを逆シリアル化するプロセスは逆シリアル化と呼ばれます
3.シリアル化は使用されていますか?
① オブジェクトをネットワーク経由で送信する必要がある場合;
② オブジェクトをファイルまたはデータベースに保存する必要がある場合
4. オブジェクトのシリアル化と逆シリアル化を実装する方法。 $ str sleep __sleep()関数が自動的に実行されます配列内にない場合はシリアル化できません。
① object_ _wakeup() メソッドを逆シリアル化するときに自動的に呼び出されます。 ② 自動的に呼び出された場合は、逆シリアル化によって生成された新しいオブジェクト属性を再コピーするために使用されます。 ;








5 制約タイプ





1. 型制約: 変数の前にデータ型を追加して、変数が対応するデータ型のみを格納できるように制約することを指します (この操作は厳密に型指定された言語で一般的です。PHP では配列とオブジェクト型制約のみ)
。 2. 型制約が特定のクラスの場合、このクラスとこのクラスのサブクラス オブジェクトは渡すことができます。
3. PHP では、型制約は関数 middle の仮パラメーターでのみ発生します。 Er Class Person {}
Class Student Extend

Function Func (person $ P) {
// 制約関数のパラメータは、 person と person サブクラスのみを受け入れます
echo "111"
echo $ p-& gt;名前;
フォーム、これを「匿名関数」と呼びます。





6 マジックメソッドのまとめ


4 シリアル化と逆シリアル化 (シリアル化と逆シリアル化)
1. __construct( ): 自動的に呼び出されるコンストラクターオブジェクトの新規作成時 10. __sleep(): オブジェクトがシリアル化されるときに自動的に呼び出されます。値がシリアル化できるプロパティである配列を返します。 11. __wakeup(): オブジェクトが逆シリアル化されるときに自動的に呼び出されます。新しく生成されたオブジェクトを逆シリアル化するには、初期化してコピーします。 12. __autoload(): 関数はクラスの外で宣言する必要があります。ライブクラスをインスタンス化するときに自動的に呼び出されます。インスタンス化したクラス名を渡すことで、対応するクラスファイルをクラス名を使用して自動的にロードできます。勉強中は間違った箇所があるかも知れませんが、指摘に対する批判は大歓迎です。
2. __destruct( ): デストラクター、オブジェクトが破棄されるときに自動的に呼び出されます 3. __get(): クラス内のプライベート プロパティにアクセスするときに自動的に呼び出されます。読み取った属性名を渡して $this->属性名を返す 4. __set(): クラスのプライベート属性に値を代入するときに自動的に呼び出されます。設定する必要がある属性名と属性値を渡します 5. __isset(): isset() を使用してオブジェクトのプライベート属性を検出するときに自動的に呼び出されます。検出された属性名を渡し、 isset($this->属性名) を返します
6. __unset(): unset() を使用してオブジェクトのプライベート属性を削除するときに自動的に呼び出されます。削除された属性名を渡し、メソッド内で unset($this->attribute name) を実行します。
7. __​​toString(): echo を使用してオブジェクトを出力するときに自動的に呼び出されます。オブジェクトを出力したい場合は、実際のコンテンツを返します。戻り値は文字列である必要があります。
8. __call(): クラス内の未定義または公開されていないメソッドを呼び出すときに自動的に呼び出されます。呼び出される関数名とパラメーター リストの配列を渡します。
9. __clone(): clone キーワードを使用してオブジェクトを複製するときに自動的に呼び出されます。この関数は、新しくクローンされたオブジェクトを初期化してコピーします。
反省、見直し、毎日少しずつ得る--------------------- より良い自分を目指して

以上がPHP で一般的に使用されるいくつかのメソッドに関する知識を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:vscodeを使用してデバッグPHPを呼び出す方法次の記事:vscodeを使用してデバッグPHPを呼び出す方法

関連記事

続きを見る