Есть ли разница между методом helper и библиотекой, вызываемой в воспламенителе кода?
Я немного запутался, как методы библиотеки и помощника используются в воспламенителе кода. Я все еще изучаю код воспламенитель.
КОНТРОЛЛЕР
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()
), это будет работать.
Но почему метод от помощника т.е. word_limiter()
не надо так писать$this->text->word_limiter()
).
Есть ли разница между методом helper и библиотекой?
2 ответа
Помощник CodeIgniter - это набор связанных функций (общих функций), которые вы можете использовать в моделях, представлениях, контроллерах и т. Д. Везде.
Как только вы загрузите (включите) этот файл, вы сможете получить доступ к функциям.
Но библиотека - это класс, который вам нужен для создания экземпляра класса ($this->load->library()
). И вам нужно будет использовать объект $this->...
вызывать методы.
Как правило большого пальца: библиотека используется в объектно-ориентированном контексте (Controller,...), в то время как помощник более подходит для использования в представлениях (не объектно-ориентированных).
CI Helper может иметь или не иметь класс
Но библиотека должна иметь представление классов.
Ссылайтесь на этот SO ответ
CodeIgniter: принятие решения о создании библиотеки и помощника в CodeIgniter