$this->_post_amount = $blog->
$this->_limit_per_page = $blog->config_get('posts_limit_per_page');
のように書くこともできます
$this->_post_amount = $blog->$this->_limit_per_page = $blog->config_get('posts_limit_per_page');
これは意味がありませんが、完全に有効です。
ただし、この場合$instance->$other_instance
、メソッドなしで使用すると次の__toString
エラーが発生するため、スクリプトが壊れます: Object of class Test could not be converted to string
. IDE はこれをチェックしません。これは実際には特殊なケースであり、そうでない場合、$this->$this
たとえば別の関数の戻り値である場合、何ができるかを知ることはほぼ不可能になるためです。$this->$that
$that
$that
$this->$this
実際にうまく動作することを証明するコード例を次に示します。
<?php
class Foo {
public $foo = 'bar';
}
class Test {
private $xyz;
function __construct() {
$this->xyz = new Foo();
}
function __toString() {
return 'xyz';
}
function run() {
echo $this->$this->foo;
}
}
$t = new Test();
$t->run();
$this->$this
ステートメントは2__toString
番目に使用される$this
ことになるため、同等で$this->xyz
あり、行全体がecho $this->xyz->foo;
どちらが有効かとして終了します。