Передать переменные функции другой функции в контроллере в codeigniter? - PullRequest
6 голосов
/ 20 ноября 2011

У меня есть контроллер, который имеет следующие функции:

class controller {

    function __construct(){

    }

    function myfunction(){
        //here is my variable
        $variable="hello"
    }


    function myotherfunction(){
        //in this function I need to get the value $variable
        $variable2=$variable 
    }

}

Спасибо за ваши ответы.Как я могу передать переменные функции другой функции в контроллере codeigniter?

Ответы [ 2 ]

5 голосов
/ 21 ноября 2011

Или вы можете установить переменную $ в качестве атрибута в своем классе;

class controller extends CI_Controller {

    public $variable = 'hola';

    function __construct(){

    }

    public function myfunction(){
        // echo out preset var
        echo $this->variable;

        // run other function
        $this->myotherfunction();
        echo $this->variable;
    }

    // if this function is called internally only change it to private, not public
    // so it could be private function myotherfunction()
    public function myotherfunction(){
        // change value of var
        $this->variable = 'adios';
    }

}

Таким образом, переменная будет доступна для всех функций / методов в вашем классе контроллера. Думайте, что ООП не процедурный.

4 голосов
/ 20 ноября 2011

Вам необходимо определить параметр для myOtherFunction, а затем просто передать значение из myFunction():

function myFunction(){
    $variable = 'hello';
    $this->myOtherFunction($variable);
}

function myOtherFunction($variable){
    // $variable passed from myFunction() is equal to 'hello';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...