Использование функции Codeigniter в функции во вспомогательной функции - PullRequest
0 голосов
/ 28 апреля 2020

Я хочу использовать функцию внутри другой функции в помощнике codeigniter.

Так что обычно я могу сделать это с этим

 function first($val){
    $ci= & get_instance();

   //do something
    return "hello";
}

function second($val){
      $ci= & get_instance();
    $this->first($val);

// try to do this failed also
// $ci->first($val);

}

Что я делаю неправильно?

Ответы [ 2 ]

0 голосов
/ 28 апреля 2020

В отличие от большинства других систем в CodeIgniter, помощники не пишутся в объектно-ориентированном формате. Это простые процедурные функции. Каждая вспомогательная функция выполняет одно заданное c задание, не зависящее от других функций. ( Ссылка )

Итак, вы должны использовать без $this

function second($val){
    $ci= & get_instance();
    first($val);
}

Однако, если вы определите эти функции внутри класса (В контроллере , модель et c.). Вы должны использовать $this.

class Control extends CI_Controller{
    function first($val){
         $ci= & get_instance();

        //do something
        return "hello";
    }

   function second($val){
       $ci= & get_instance();
       $this->first($val);
    }
}
0 голосов
/ 28 апреля 2020

Используйте первую функцию в другой функции, подобной этой.

 function first($val){
    $ci= & get_instance();

   //do something
    return "hello";
}

function second($val){
    $ci= & get_instance();
    first($val);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...