我是codeigniter 3的新手。X,在codeigniter 3中。当我写
class Auth extends CI_Controller {
public function __construct() {
parent::__construct();
echo "ya";
}
}
显示错误
404 Page Not Found
The page you requested was not found.
和
class Auth extends CI_Controller {
public function __construct() {
parent::__construct();
echo "ya";
}
public function index() {
echo "aya";exit;
}
}
可以正常工作并显示输出为{yaaya}。谁能告诉我这是什么?
这是因为当你运行url
http://ip/cifolder/index.php/controller
默认情况下查找控制器的index()
如果你使用像
这样的urlhttp://ip/cifolder/index.php/controller/function
它将查找控制器的函数
如果你没有在控制器中编写任何函数,只需__construct
function __construct() {
parent::__construct();
}
表示没有index()函数它会显示400 error
它正在发生,因为CI正在寻找index()
,当你没有提供哪个行动去。对于第一种情况,它不存在,因此抛出错误。但在第二种情况下,它在那里,所以它起作用了。你不能显式调用__construct()
。
默认url模式查找controller/action
。如果没有提供action
,它将在该控制器中查找index()
。
所以当它得到index()
,它实例化控制器类和__construct()
被调用