我可以在CodeIgniter中编写可链接的函数吗?
所以,如果我有这样的功能:
function generate_error(){
return $data['result'] = array('code'=> '0',
'message'=> 'error brother');
}
function display_error(){
$a= '<pre>';
$a.= print_r($data);
$a.= '</pre>';
return $a;
}
我想通过链接来打电话给他们:
echo $this->generate_error()->display_error();
我想分离这些函数的原因是因为display_error()仅对开发有用,所以当涉及到生产时,我可以删除display_error()或类似的东西。
谢谢!
答案 0 :(得分:2)
要编写可链接函数,他们可以成为类的一部分,然后从函数中返回对当前类的引用(通常为$this
)。
如果你返回的不是对类的引用,它将会失败。
也可以返回对另一个类的引用(例如,当您使用代码igniter活动记录类get()
函数时,它返回对DBresult
类的引用)
class example {
private $first = 0;
private $second = 0;
public function first($first = null){
$this->first = $first;
return $this;
}
public function second($second = null){
$this->second = $second;
return $this;
}
public function add(){
return $this->first + $this->second;
}
}
$example = new example();
//echo's 15
echo $example->first(5)->second(10)->add();
//will FAIL
echo $example->first(5)->add()->second(10);
答案 1 :(得分:0)
你应该在你的函数中返回$this
以在php oop中创建可链接的函数
public function example()
{
// your function content
return $this;
}