我有班级用户。
class User {
public function like($name) {
// This code will return the variable $name
}
public function unlike($name) {
// This code will return the variable $name
}
}
如何像这样调用类用户
User::like('Udin')->unlike('Asep');
答案 0 :(得分:4)
这称为流利 API。你可以这样做:
class User {
public function like($name) {
// This code will return the variable $name
return $this;
}
public function unlike($name) {
// This code will return the variable $name
return $this;
}
}
$user = new User();
$user->like("John")->unlike("Mary");
使用静态调用(::
代替->
)可能不是一个好主意,因为您不再拥有$this
。我不确定在这种情况下User
会是什么样子。
答案 1 :(得分:0)
使用" ->
"用于访问类实例的成员,而不是类方法。
答案 2 :(得分:0)
如果你真的想要,你可以这样做!但是很伤心哈哈。
如果您将工厂用作静态然后初始化User类,那就没关系了,但这是另一个故事,我相信很多用户都会抱怨。
class User {
public static function like($name) {
echo $name.'<br/>';
return new User();
}
public function unlike($name) {
echo $name.'<br/>';;
}
}
User::like('foo')->unlike('teste');
class User {
public static function like($name) {
echo $name.'<br/>';
return new User();
}
public function unlike($name) {
echo $name.'<br/>';;
}
}
User::like('foo')->unlike('teste');