ホームページ  >  記事  >  バックエンド開発  >  PHPオブジェクトチェーン動作の実装原理の分析

PHPオブジェクトチェーン動作の実装原理の分析

高洛峰
高洛峰オリジナル
2016-12-20 16:07:051142ブラウズ

この記事の例では、PHP オブジェクト チェーン操作の実装原理を説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

チェーン操作とは何ですか? jQuery では、よく次のような DOM 要素を操作します。動作は非常にクールで、コードを読むのに非常に便利です。では、これを PHP で実装できるでしょうか。答えは「はい」です。もちろん、OOP で使用する必要があります。手続き型プログラムでは、このメソッドを使用する必要はありません。

PHP では、多くの関数をよく使用します:

$("p").css("color").addClass("selected");

上記のコードの機能は、文字列の両側のスペースを削除し、その長さを出力することです。次に、チェーン プログラミングを使用して、次のように実行します。 :

$str = 'abs123 ';
echo strlen(trim($str));

これは主に PHP オブジェクト指向の __call() と __toString() マジック メソッドを使用します

$str = 'abs123 ';
echo $str->trim()->strlen();

上記のコードからわかるように、呼び出し時 オブジェクトにメソッドが存在しない場合、__call() マジック メソッドが自動的にトリガーされ、call_user_func() と組み合わせてチェーン操作が実行されます。オブジェクトが出力されると、toString() がトリガーされて目的の結果が出力されます。もちろん、別の解決策もあります。カスタム メソッドで return this を使用するだけで、オブジェクト チェーン操作を実装することもできます。この記事が PHP プログラミングの皆様のお役に立てば幸いです。

PHP オブジェクト チェーン操作の実装原理分析に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

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