CodeIgniter - Библиотеки
Важной частью фреймворка CodeIgniter являются его библиотеки. Он предоставляет богатый набор библиотек, косвенно повышающих скорость разработки приложения. Системная библиотека находится в system / libraries. Все, что нам нужно сделать, это загрузить библиотеку, которую мы хотим использовать. Библиотеку можно загрузить, как показано ниже -
$this->load->library('class name');
где class nameэто имя библиотеки, которую мы хотим загрузить. Если мы хотим загрузить несколько библиотек, мы можем просто передать массив в качестве аргумента вlibrary() работают, как показано ниже -
$this->load->library(array('email', 'table'));
Библиотечные классы
Классы библиотеки расположены в system/libraries. Каждый класс имеет различные функции, упрощающие разработку. В следующей таблице показаны имена класса библиотеки и его описание.
SN | Класс библиотеки и описание |
---|---|
1 | Benchmarking Class Класс сравнительного анализа всегда активен, что позволяет вычислить разницу во времени между любыми двумя отмеченными точками. |
2 | Caching Class Этот класс будет кэшировать страницы для быстрого доступа к скорости страницы. |
3 | Calendaring Class Используя этот класс, вы можете динамически создавать календари. |
4 | Shopping Cart Class Используя этот класс, вы можете добавить или удалить товар из корзины. Элементы сохраняются в сеансе и остаются активными, пока пользователь не просматривает сайт. |
5 | Config Class С помощью этого класса можно получить настройки конфигурации. Этот класс инициализируется автоматически. |
6 | Email Class Этот класс предоставляет функции, связанные с электронной почтой, например отправку или ответ на электронную почту. |
7 | Encryption Class Этот класс обеспечивает двустороннее шифрование данных. |
8 | File Uploading Class Этот класс предоставляет функции, связанные с загрузкой файлов. Вы можете установить различные настройки, такие как тип загружаемого файла, размер файлов и т. Д. |
9 | Form Validation Class Этот класс предоставляет различные функции для проверки формы. |
10 | FTP Class Этот класс предоставляет различные функции, связанные с FTP, такие как передача файлов для удаления сервера, перемещение, переименование или удаление файлов на сервере. |
11 | Image Manipulation Class С помощью этого класса можно выполнять такие манипуляции с изображением, как изменение размера, создание миниатюр, обрезка, поворот, добавление водяных знаков. |
12 | Input Class Этот класс предварительно обрабатывает входные данные по соображениям безопасности. |
13 | Language Class Этот класс используется для интернационализации. |
14 | Loader Class Этот класс загружает такие элементы, как файлы просмотра, драйверы, помощники, модели и т. Д. |
15 | Migrations Class Этот класс предоставляет функции, связанные с миграцией базы данных. |
16 | Output Class Этот класс отправляет вывод в браузер, а также кэширует эту веб-страницу. |
17 | Pagination Class Этот класс добавляет на веб-страницу функции разбивки на страницы. |
18 | Template Parser Class Класс Template Parser Class может выполнять простую замену текста для псевдопеременных, содержащихся в ваших файлах представления. Он может анализировать простые переменные или пары переменных тегов. |
19 | Security Class Этот класс содержит функции, связанные с безопасностью, такие как XSS Filtering, CSRF и т. Д. |
20 | Session Library Этот класс предоставляет функции для поддержки сеанса вашего приложения. |
21 год | HTML Table Этот класс используется для автоматического создания HTML-таблиц из результатов массива или базы данных. |
22 | Trackback Class Класс Trackback предоставляет функции, которые позволяют отправлять и получать данные Trackback. |
23 | Typography Class Класс Typography предоставляет методы, которые помогают форматировать текст. |
24 | Unit Testing Class Этот класс предоставляет функции для модульного тестирования вашего приложения и получения результата. |
25 | URI Class Класс URI предоставляет методы, которые помогают извлекать информацию из строк URI. Если вы используете URI-маршрутизацию, вы также можете получить информацию о перенаправленных сегментах. |
26 | User Agent Class Класс User Agent предоставляет функции, которые помогают идентифицировать информацию о браузере, мобильном устройстве или роботе, посещающем ваш сайт. Кроме того, вы можете получить информацию о реферере, а также информацию о языке и поддерживаемых наборах символов. |
27 | XML-RPC and XML-RPC Server Classes Классы XML-RPC CodeIgniter позволяют отправлять запросы на другой сервер или настраивать собственный сервер XML-RPC для приема запросов. |
28 | Zip Encoding Class Этот класс используется для создания zip-архивов ваших данных. |
Создание библиотек
CodeIgniter имеет богатый набор библиотек, которые вы можете найти в system/libraries папка, но CodeIgniter не ограничивается только системными библиотеками, вы также можете создавать свои собственные библиотеки, которые можно хранить в application/librariesпапка. Вы можете создавать библиотеки тремя способами.
- Создать новую библиотеку
- Расширить родную библиотеку
- Заменить родную библиотеку
Создать новую библиотеку
При создании новой библиотеки следует иметь в виду следующее:
- Имя файла должно начинаться с заглавной буквы, например Mylibrary.php.
- Название класса должно начинаться с заглавной буквы, например class Mylibrary.
- Имя класса и имя файла должны совпадать.
Mylibrary.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Mylibrary {
public function some_function() {
}
}
/* End of file Mylibrary.php */
Loading the Custom Library
Вышеупомянутую библиотеку можно загрузить, просто выполнив следующую строку в вашем контроллере.
$this->load->library(‘mylibrary’);
mylibrary - это имя вашей библиотеки, и вы можете писать его как строчными, так и прописными буквами. Используйте имя библиотеки без расширения «.php». После загрузки библиотеки вы также можете вызвать функцию этого класса, как показано ниже.
$this->mylibrary->some_function();
Расширить родную библиотеку
Иногда вам может потребоваться добавить свои собственные функции в библиотеку, предоставляемую CodeIgniter. CodeIgniter предоставляет возможность расширять встроенную библиотеку и добавлять свои собственные функции. Для этого вы должны расширить класс собственной библиотеки. Например, если вы хотите расширить библиотеку электронной почты, это можно сделать, как показано ниже -
Class MY_Email extends CI_Email {
}
Здесь, в приведенном выше примере, класс MY_Email расширяет класс электронной почты собственной библиотеки CI_Email. Эту библиотеку можно загрузить стандартным способом загрузки почтовой библиотеки. Сохраните приведенный выше код в файле My_Email.php
Заменить родную библиотеку
В некоторых ситуациях вы не хотите использовать собственную библиотеку так, как она работает, и хотите заменить ее на свой собственный. Это можно сделать, заменив родную библиотеку. Для этого вам просто нужно дать то же имя класса, что и в собственной библиотеке. Например, если вы хотите заменитьEmail class, затем используйте код, как показано ниже. Сохраните имя файла с помощьюEmail.php и дайте имя класса CI_Email.
Email.php
Class CI_Email {
}