механизм контроллера кодигнитера - PullRequest
0 голосов
/ 07 декабря 2010

мой проект использует coneigniter, легковесный фреймворк php.Я немного новичок с этим.

Итак, мой вопрос ..

это файл php.

Actor extends Controller
{
    $a = 0;

    function __construct()
    {
        $this->a = 1;  
    }

    function abc()
    {
        echo $this->a;
    }

}

Итак, когда я вызываю функцию класса Actor abc () с помощью ajax, конструктор, __construct () вызывается каждый раз?

Я имею в виду ... в html-файле

<script>
    $.post(.... , url : "http://someaddress/actor/abc", function result(data){
        alert(data);
    });
</script>

предупреждение о данных результата равно 1 или 0?

Ответы [ 2 ]

2 голосов
/ 07 декабря 2010

Я запутался, почему вы не запускаете это, чтобы выяснить это, но в принципе вызов / actor / abc приведет к «1».

Аналогично:

Actor extends Controller
{
    function __construct()
    {
        echo "always echo this ";
    }

    function abc()
    {
        echo "only echo this when called ";
    }

    function dosomethingelse()
    {
        //do other stuff
    }

}

Результатом будет "всегда выводить это только эхо, когда вызывается", когда вы нажимаете / actor / abc, и если вы нажимаете / actor / dosomethingelse, просто "всегда отражать это" будет отображаться.

Читайте об этом здесь: http://php.net/manual/en/language.oop5.decon.php

(отредактировано для ясности)

2 голосов
/ 07 декабря 2010

Да. Новый экземпляр Actor создается с каждым новым запросом. Таким образом, конструктор контроллера будет вызываться при каждом запросе. Результат будет 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...