如何在PHP中创建类,它将像codeIgniter中的DB类一样工作?
我可以这样使用这个类:
$this->db->select('...');
$this->db->where('...');
$this->db->get('...');
和那样:
$this->db->select('...')->where('...')->get('...')-> .......
感谢。
答案 0 :(得分:8)
答案 1 :(得分:5)
这样的链接实际上非常简单。您只需让每个方法返回$this
。
答案 2 :(得分:4)
class User
{
public function first()
{
return $this;
}
public function second()
{
return $this;
}
}
$user = new User();
$user->first()->second();
答案 3 :(得分:1)
要使用' chaining',你应该返回类的实例,如下所示:
class Sql {
protected $select ;
protected $where ;
protected $order ;
public function select( $select ) {
$this->select = $select ;
//this is the secret
return $this ;
}
public function where( $where ) {
$this->where = $where ;
//this is the secret
return $this ;
}
public function order( $order ) {
$this->order = $order ;
//this is the secret
return $this ;
}
}
$sql = new Sql() ;
$sql->select( "MY_TABLE" )->where( "ID = 10" )->order( "name" ) ;
var_dump( $sql ) ;