php:我怎么知道通过__construct在__construct之后调用哪个对象

时间:2014-06-26 11:47:26

标签: php codeigniter

我不知道这是否可行但是在执行函数时如何通过__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

    }

} 
?>

1 个答案:

答案 0 :(得分:0)

当您实例化新课程并尝试使用它时,即

$smallportal = new SmallPortal();

然后调用登录方法

$smallportal->login();

它将尝试在$ smallprotal对象中找到该方法。

如果发现它将运行它......故事结束。

如果对象中不存在login()方法,它会自动查找其父级及其父级的层次结构,并查看是否可以在那里找到它。

由于您编写了一个login()方法,如果您想要运行父{4}}方法,您必须告诉它,就像这样。

login()

因此,如果您编写public login(){ parent::login(); //LOOP } 方法,则会覆盖任何父对象中可能存在的任何现有方法。

如果您在login()方法中调用parent::login();,那么您正在对该方法进行分类,即向现有流程添加更多功能。