これは「表記法」ではなく、連結演算子(ドット)の奇妙な利用です。
基本的にPHPのtype-jugglingを利用し、各関数の戻り値を文字列に変換します。
chmod()
およびchown()
は、空の文字列に暗黙的にキャストされたブール値を返します。
redirect()
はおそらくフレームワークによって提供される関数であり、おそらくvoid(つまりnoting)を返します。これは再び空の文字列にキャストされます。
配列を返す関数、またはstring
にキャストできない唯一の値の型である__toString()
magic methodを実装していないオブジェクトでは機能しません。
$value = Chmod('file', 0777).chroot('file','root').redirect('/') ;
...唯一のあなたが実際にあなたが役に立たない空の文字列になります知っている程度$value
を、気にしない:
以下は、より多くの意味を行います。
私はあなたが「素敵」だと思っていて、私の説明を考えれば、おそらくそれも「スマート」だと思うでしょうが、それは技術的に間違っています。
ドットをセミコロンに置き換えることは、「正しい方法」になります。それは、他の言語のメソッド連鎖としてドットを読み込むことに慣れているため、セミコロンとは対照的に読みやすくなりました。
だから誰かが "醜い"と呼んでも驚かないでください。あなたはそれをやるべきではなく、技術的に "ハック"です。
"メソッドチェーン" – tkausl
jqueryでは "メソッドチェーン"と呼ばれています – SuperDJ
実際には有効なPHPであり、メソッドチェーニングではありません。 – Narf