像codeigniter一样扩展类函数



如果你使用codeigniter(也许还有其他框架),你可以使用这样的东西

$this->db->query()->row();

现在,我想创造这样的东西。现在,我有这个简单的类

class Users
{
function getUser(){
}
}

所以,当我在上面尝试我的类时,我可以使用它

<?php
require 'Users.php';
$users= new Users();
$users->getUser();

但是,我想要的是。我可以在我的函数中添加order。所以maybe我可以像这样创作

<?php
require 'Users.php';
$users= new Users();
$users->getUser()->orderby("fullname","asc");

我怎样才能实现呢? 提前致谢

这称为方法链接。为了使其正常工作,每个方法都返回一个对象,该对象可能是同一对象。

例:

class Users
{
function getUser(){
return new User();
}
}

如果您使用:

<?php
require 'Users.php';
$users= new Users();
$users->getUser()->orderby("fullname","asc");

getUser将在Users上被调用,orderby将在User上被调用。

最新更新