Codeigniter中的构造函数

时间:2015-01-13 11:47:47

标签: php codeigniter

我有一个控制器constructori,它包含一个构造函数和一个方法aas。 我创建了一个新对象$col = new constructori(),之后我调用了该方法 echo $col->aas();

Class Constructori  {

    function index(){

    }

    public function __construct(){

        echo" something <br />";
    }

    function aas(){
        echo 'another something <br>';
    }



}

$col = new Constructori();

echo $col->aas();

任何人都可以解释我为什么会这样做:

something

another something

something

而不是

something

something

another something

1 个答案:

答案 0 :(得分:1)

预计输出。它首先执行:

$col = new Constructori();//something
echo $col->aas();//another something
//Now codeigniter itself try to create new controller ---thats why you got something

原因是Codeigniter首先加载所有类。然后创建其必要的类对象。因此,当它加载类Constructori时,您的代码首先执行。最后,Codeigniter本身会创建Constructori对象。

假设您的代码是这样的:

$col = new Constructori();
echo $col->aas();

$col2 = new Constructori();
echo $col2->aas();

输出将是:

  something        //for $col construct
  another something  //for $col->aas();

  something  //for $col2 construct
  another something // $col2->aas();

  something //last Codeigniter creates one