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

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

Jun 23, 2017 pm 03:20 PM
php 抽象的な 方法 静的

はじめに

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 までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

See all articles