如何从课堂上制作多功能变量? 我试过这个,但是我得到了错误 致命错误:调用成员函数doSomethingElse()
我有一个班级,例如
class users {
public_funtion getUser(){}
public_funtion doSomethingElse(){}
}
我希望能够在一次通话中调用2个功能
$users = new Users()
$user = $users->getUser()->doSomethingElse();
这叫什么?我怎么得到这个?
答案 0 :(得分:1)
很简单,第一种方法必须返回自己的实例,为此你需要在第一种方法中返回$ this,如下所示:
class Users {
public function getUser(){ return $this; }
public function doSomethingElse(){ }
}
比你能做到的那样:
$users = new Users()
$user = $users->getUser()->doSomethingElse();
答案 1 :(得分:0)
我无法100%自信地回答,但请试一试(你可能需要在这些函数中返回一些东西,也许是构造函数以及在这里看到的?): how to call two method with single line in php?
答案 2 :(得分:0)
单独的用户和用户
class users {
public function getUser(){
bla();
return $user;
}
}
class user{
public function doSomethingElse(){}
}
$users = new Users()
$user = $users->getUser()->doSomethingElse();
如果你使getUser变为静态,你甚至可以在创建类Users
的实例的位置我不会在一行中尽我所能。争取可读性的斗争!
答案 3 :(得分:0)
好像你正在寻找链接。您需要返回对象才能实现目标。这是一个例子:
<?php
class Users {
public function getUser() {
return $this;
}
public function doSomethingElse() {
return $this;
}
}
$users = new Users();
$user = $users->getUser()->doSomethingElse();
?>