「__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 サイトの他の関連記事を参照してください。

この記事では、酸とベースのデータベースモデルを比較し、その特性と適切なユースケースを詳述しています。酸は、財務およびeコマースアプリケーションに適したデータの整合性と一貫性を優先し、ベースは可用性に焦点を当て、

この記事では、コードインジェクションのような脆弱性を防ぐために、PHPファイルのアップロードを確保することについて説明します。ファイルタイプの検証、セキュアストレージ、およびアプリケーションセキュリティを強化するエラー処理に焦点を当てています。

記事では、組み込み関数、ホワイトリストアプローチ、サーバー側の検証などの手法に焦点を当てたセキュリティを強化するためのPHP入力検証のベストプラクティスについて説明します。

この記事では、Token BucketやLeaky BucketなどのアルゴリズムやSymfony/Rate-Limiterなどのライブラリを使用するなど、PHPでAPIレート制限を実装するための戦略について説明します。また、監視、動的に調整されたレートの制限、および手をカバーします

この記事では、パスワードを保護するためにPHPでpassword_hashとpassword_verifyを使用することの利点について説明します。主な議論は、これらの関数が自動塩の生成、強力なハッシュアルゴリズム、およびSecurを通じてパスワード保護を強化するということです

この記事では、PHPおよび緩和戦略におけるOWASPトップ10の脆弱性について説明します。重要な問題には、PHPアプリケーションを監視および保護するための推奨ツールを備えたインジェクション、認証の壊れ、XSSが含まれます。

この記事では、PHPでのXSS攻撃を防ぐための戦略について説明し、入力の消毒、出力エンコード、セキュリティを向上させるライブラリとフレームワークの使用に焦点を当てています。

この記事では、PHPでのインターフェイスと抽象クラスの使用について説明し、それぞれをいつ使用するかに焦点を当てています。インターフェイスは、無関係なクラスや複数の継承に適した、実装なしで契約を定義します。抽象クラスは共通の機能を提供します


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

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

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

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