我不知道这是否可行但是在执行函数时如何通过__construct知道__construct之后要调用哪个对象的名称。
<?
class SmallPortal extends CI_Controller {
public function __construct(){
parent::__construct();
if($this->session->is_login()==true) {
//put my sessions in an array
} else {
//if not login page redirect to login page...
}
} //end __construct
public function index(){
//member page
}
public login(){
//LOOP
}
}
?>
答案 0 :(得分:0)
当您实例化新课程并尝试使用它时,即
$smallportal = new SmallPortal();
然后调用登录方法
$smallportal->login();
它将尝试在$ smallprotal对象中找到该方法。
如果发现它将运行它......故事结束。
如果对象中不存在login()
方法,它会自动查找其父级及其父级的层次结构,并查看是否可以在那里找到它。
由于您编写了一个login()
方法,如果您想要运行父{4}}方法,您必须告诉它,就像这样。
login()
因此,如果您编写public login(){
parent::login();
//LOOP
}
方法,则会覆盖任何父对象中可能存在的任何现有方法。
如果您在login()
方法中调用parent::login();
,那么您正在对该方法进行分类,即向现有流程添加更多功能。