在codeigniter中,我们使用像这样的方法调用
$this->load->view();
我想知道什么是“负载”?它是一个功能还是什么?为什么它之后没有两个括号?我想在我的代码中做出类似的东西,这样我怎么能这样做?
答案 0 :(得分:1)
load
,对象$this
上的属性,是CI_Loader
类的一个实例。它有一个名为view()
的方法。
CodeIgniter以一种相当钝的方式实例化Loader
对象,但您可以将其可视化为:
class Loader {
function view($view_name) {
echo "View '$view_name' loaded!";
}
}
class FooController{
public $load;
function __construct() {
$this->load = new Loader();
}
}
$foo = new FooController();
$foo->load->view("bar"); // => "View 'bar' loaded!"
/* ^ ^ ^
| | |
| | +--- view() is a method on the Loader object assigned to $foo's 'load' property
| |
| +--------- 'load' is a property on $foo, to which we've assigned an object of class Loader
|
+-------------- $foo is an instance of class FooController
*/
答案 1 :(得分:0)
你会做这样的事情:
class Controller {
public $load = new Loader();
//...
}
然后,您可以访问$load
上的属性和方法,如下所示:
$controller = new Controller();
$controller->load->foo();
在CI中,$load
只是CI_Controller
类的属性,是CI_Loader
类的实例。