Есть ли разница между методом helper и библиотекой, которые вызываются в Code igniter?
Я немного запутался, как методы библиотеки и помощника используются в Code igniter. Я все еще изучаю код igniter.
контроллер
function index(){
$this->load->helper('text');
$this->load->library('auth'); //custom library
$data['string'] = 'this is sample ..... this is sample';
$this->load->view('article', $data);
}
посмотреть
<?php
if(is_logged_in()){ //is_logged_in() is the method from the library, 'auth'
echo 'You are logged in';
}
<p><?php echo word_limiter($string, 10); ?></p> <!--word_limiter() is the method from the helper, 'text' -->
в приведенном выше файле представления вспомогательный метод word_limiter()
работает нормально. Но метод is_logged_in()
не работает. Но если я это сделаю ($this->auth->is_logged_in()
), он будет работать.
но почему метод от helper т. е. word_limiter()
не обязательно писать так ($this->text->word_limiter()
).
есть ли разница между методом helper и библиотекой, которые вызываются ?
2 ответов
помощник CodeIgniter-это набор связанных функций (общих функций), которые вы можете использовать в модели, вид, контроллеры,.. повсюду.
после загрузки (включения) этого файла, вы можете получить доступ к функциям.
но библиотека-это класс, который вам нужно сделать экземпляр класса (на $this->load->library()
). И вам нужно будет использовать объект $this->...
для вызова методов.
как большой палец правило: библиотека используется в объектно-ориентированном контексте (контроллер, ...), в то время как помощник более подходит для использования в вид (не объектно-ориентированных).
CI Helper может иметь или не иметь класс
но библиотека должна иметь представление класса.
обратитесь это так ответ
CodeIgniter: принятие решений для создания библиотеки и помощника в CodeIgniter