Есть ли разница между методом 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

Другие вопросы по тегам