PHPマジック関数の予備探索(1)_PHPチュートリアル
Php5.0 は、リリース以来、多くのオブジェクト指向機能、特にコーディングを簡素化し、システムをより適切に設計できるようにする多くの使いやすいマジック メソッドを提供してきました。今日はphp5.0が提供するマジックメソッドについて学びます。
1.__construct() オブジェクトをインスタンス化するとき、オブジェクトのこのメソッドが最初に呼び出されます。
class Test { function __construct() { echo "before"; } } $t = new Test(); ログイン後にコピー |
出力は次のとおりです:
start
同じクラス名の php5 オブジェクト モデルと関数がクラスのコンストラクターであることがわかっているため、両方のコンストラクターを定義するとその場合、php5 は __construct() 関数を呼び出す代わりにデフォルトでコンストラクターを呼び出すため、オブジェクトが呼び出されたときに __construct() がクラスのデフォルトのコンストラクターとして機能します
2.__destruct()が削除されるか、オブジェクト操作によってこのメソッドが終了します。
class Test { function __destruct() { echo "end"; } } $t = new Test();将会输出end ログイン後にコピー |
オブジェクト操作の最後にリソースを解放できます
3.__get()は、存在しないプロパティを読み取ろうとするときに呼び出されます。
オブジェクトに存在しないプロパティを読み取ろうとすると、PHP はエラー メッセージを表示します。クラスに __get メソッドを追加すると、この関数を使用して Java のリフレクションと同様のさまざまな操作を実装できます。
class Test { public function __get($key) { echo $key . " 不存在"; } } $t = new Test(); echo $t->name; 就会输出:name 不存在 ログイン後にコピー |
4.__set() は、存在しないプロパティに値を書き込もうとするときに呼び出されます。
class Test { public function __set($key,$value) { echo '对'.$key . "附值".$value; } } $t = new Test(); $t->name = "aninggo"; 就会输出:对 name 附值 aninggo ログイン後にコピー |
5.__call() このメソッドは、オブジェクトに存在しないメソッドを呼び出そうとしたときに呼び出されます。
class Test { public function __call($Key, $Args) { echo "您要调用的 {$Key} 方法不存在。你传入的参数是:" . print_r($Args, true); } } $t = new Test(); $t->getName(aning,go); ログイン後にコピー |
プログラムは次のように出力します:
呼び出したい getName メソッドは存在しません。パラメータは次のとおりです: Array
(
[0] => aning
[1] => go
)
6.__toString() はオブジェクトを印刷するときに呼び出されます
このメソッドは Java の toString メソッドに似ています。オブジェクトを直接印刷するときは、この関数を呼び出します
class Test { public function __toString() { return "打印 Test"; } } $t = new Test(); echo $t; ログイン後にコピー |
echo $t; を実行すると、$t->__toString() が呼び出されて出力されます
Print Test
7.__clone () はオブジェクトが複製されるときに呼び出されます
class Test { public function __clone() { echo "我被复制了!"; } }$t = new Test(); $t1 = clone $t;程序输出:我被克隆了! ログイン後にコピー |
1

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

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

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

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

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

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