[解決済み] PHPのメソッドチェイニングか、流暢なインターフェースか?
2022-04-16 17:16:23
質問
PHP5を使っているのですが、オブジェクト指向のアプローチで「メソッドチェイニング」という新しいフィーチャーがあると聞きました。これはいったい何なのでしょうか?どのように実装すればよいのでしょうか?
どのように解決するのですか?
実に単純な話です。あなたは、一連の ミューテーターメソッド は、すべて元の(または他の)オブジェクトを返します。そうすることで、返されたオブジェクトのメソッドを呼び続けることができます。
<?php
class fakeString
{
private $str;
function __construct()
{
$this->str = "";
}
function addA()
{
$this->str .= "a";
return $this;
}
function addB()
{
$this->str .= "b";
return $this;
}
function getStr()
{
return $this->str;
}
}
$a = new fakeString();
echo $a->addA()->addB()->getStr();
これは、"ab" を出力します。
関連
-
[解決済み】Apache + PHPで「ヘッダの前にスクリプトの出力が終了する」件
-
[解決済み] どのような場合に '$this' よりも 'self' を使うべきですか?
-
[解決済み] 抽象メソッドと仮想メソッドの違いは何ですか?
-
[解決済み] インターフェースと抽象クラス(一般的なOO)
-
[解決済み] mixinとは何か、なぜ有用なのか?
-
[解決済み] リスコフ置換原理の例として、どのようなものがありますか?
-
[解決済み】PHPの'foreach'は実際どのように動作するのですか?
-
[解決済み】PHPパスワードのハッシュとソルトの安全性について
-
[解決済み】「インターフェースに合わせたプログラム」とはどういう意味ですか?
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Weird PHP error: 'Can't use function return value in write context'.
-
[解決済み] コマンドの同期がとれていない。
-
[解決済み】++と*+の意味は何ですか?
-
[解決済み】XAMPPのphpMyAdminで「設定にあるcontroluserの接続に失敗しました。
-
[解決済み】ディレクトリ内のファイル数を数える PHP
-
[解決済み】未定義の関数mysql_query()をLoginで呼び出す【重複
-
[解決済み】file_get_contents( )が動作しない。
-
[解決済み] mysqli_fetch_assoc() は、パラメータ 1 が mysqli_result であることを期待し、boolean が与えられる [重複] 。
-
[解決済み] Forbidden :このサーバーの /phpmyadmin にアクセスする権限がありません。
-
[解決済み] mysql_field_nameを新しいmysqliに変更します。