php __toString() メソッドの用途は何ですか
「__toString()」は PHP のマジック メソッドで、オブジェクトを文字列に変換するときに自動的に呼び出されます。これは、文字列として扱われるときにクラスがどのように応答するかに使用されます。このメソッドは、次のことを行う必要があります。 string を返します。それ以外の場合は、「E_RECOVERABLE_ERROR」レベルの致命的なエラーが発行されます。
このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
__toString()、クラスは次のように扱われます。 文字列の応答メソッド
__toString() は、オブジェクトを文字列に変換するときに自動的に呼び出される PHP のマジック メソッドです。
オブジェクト指向プログラミングでは、PHP が提供する一連のマジック メソッドは、プログラミングに非常に便利であり、PHP で非常に重要な役割を果たします。 PHP のマジック メソッドは通常、__ (2 つのアンダースコア) で始まり、明示的に呼び出す必要はありませんが、特定の条件下で自動的に呼び出されます。
関数:
__toString() メソッドは、文字列として扱われる場合にクラスがどのように応答するかに使用されます。たとえば、`echo $obj;` が表示する内容です。
注:
このメソッドは文字列を返す必要があります。そうでない場合、レベル `E_RECOVERABLE_ERROR` の致命的なエラーが発行されます。
警告:
__toString() メソッドでは例外をスローできません。致命的なエラーが発生します。
コード:
<?php class Person { public $sex; public $name; public $age; public function __construct($name="", $age=25, $sex='男') { $this->name = $name; $this->age = $age; $this->sex = $sex; } public function __toString() { return 'go go go'; } } $person = new Person('小明'); // 初始赋值 echo $person;
結果:
go go go
では、クラスに __toString() マジック メソッドが存在しない場合はどうなるのでしょうか?テストしてみましょう:
コード:
<?php class Person { public $sex; public $name; public $age; public function __construct($name="", $age=25, $sex='男') { $this->name = $name; $this->age = $age; $this->sex = $sex; } } $person = new Person('小明'); // 初始赋值 echo $person;
結果:
Catchable fatal error: Object of class Person could not be converted to string in D:\phpStudy\WWW\test\index.php on line 18 很明显,页面报了一个致命错误,这是语法所不允许的。
拡張情報: PHP のマジック メソッドを次の表に示します。
Function | |
---|---|
インスタンス化時に自動的に呼び出されます。 class | |
クラスオブジェクトが使用されると自動的に呼び出されます | |
in 未定義のプロパティに値を割り当てるときに自動的に呼び出されます | |
# __isset() | |
__unset() | |
##__sleep() | serialize を使用したシリアル化時に自動的に呼び出されます |
__wakeup() | 使用unserialize 逆シリアル化時に自動的に呼び出されます |
__call() | 存在しないメソッドの呼び出し時に自動的に呼び出されます |
__callStatic( ) | 存在しない静的メソッドを呼び出すときに自動的に呼び出されます |
__toString() | オブジェクトを文字列に変換するときに自動的に呼び出されます |
__invoke() | オブジェクトをメソッドとして呼び出そうとすると自動的に呼び出されます |
__set_state() | When var_export() 関数を使用し、配列パラメーターを受け入れるときに自動的に呼び出されます。 |
__clone() | clone を使用してオブジェクトをコピーするときに自動的に呼び出されます |
__debugInfo() | オブジェクト情報の出力時に var_dump() を使用して自動的に呼び出す |
推奨学習: 「 | PHP ビデオ」チュートリアル
以上がphp __toString() メソッドの用途は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホット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 には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。
