> $ B demek - bir $ obj-> $ a () ne yapar örnek ile açıklayabilir misiniz? Ben PHP OOP oldukça uzun bir süre kullandım ve bazı yerlerde bu yapıyı gördük ve sadece bu $ obj-> a () $; Hangi durumlarda bunu kullanmalıyım?
$a = 'someMethod';
$b = 'someProperty';
$obj->$a()->$b;
eşittir:
$obj->someMethod()->someProperty;
variable variables hakkında daha fazlasını okuyun
$ A bir yönteme adıdır. Bu yüzden, $a = "myFunc", bu eşdeğer ise:
$obj->myFunc()->$b;
$ B özellik için bir referans gibi gözükmektedir. Yöntemi $b = "myProp", biz bu olduğu için değiştirebilirsiniz eğer, bir nesneyi döndürmek, yani görünür:
$obj->myFunc()->myprop;
Bu gerçekten anlaşılması için kötü şeklidir.
Belirtildiği gibi gerçek terimi orijinal nesneyi, iste tam bir örnek sınıf döndürür, Fluent Interface olduğunu
Class Fluent {
public $var1;
public $var2;
function setVar1($value) {
$this->var1 = $value;
return $this;
}
function setVar2($value) {
$this->var2 = $value;
return $this;
}
function getVars() {
echo $this->var1 . $this->var2;
}
}
$fluent = new Fluent();
$fluent->setVar1("Foo")->setVar2("Bar")->getVars();
Açıkçası "filanca" dönecekleri.
HTH