CodeIgniter: различия между версиями

Материал из Викиучебника — открытых книг для открытого мира
Содержимое удалено Содержимое добавлено
Нет описания правки
Нет описания правки
Строка 117: Строка 117:
<li >Генерация <span>XML </span>из результата запроса</li>
<li >Генерация <span>XML </span>из результата запроса</li>
<li >Создание/восстановление резервной копии БД или таблиц с архивированием</li>
<li >Создание/восстановление резервной копии БД или таблиц с архивированием</li>
</ul> <p >&nbsp;</p> <p >&nbsp;</p>
</ul> <p >&nbsp;</p> <p >&nbsp;</p>
<source lang="php">
<?php
$this->load->database(); // загружаем класс
$query = $this->db->query('SELECT orderid, name FROM my_table'); // делаем запрос и возвращаем результат в виде обьекта
foreach ($query->result() as $row)
{
echo $row->orderid . "<br>"; // выводим результат
echo $row->name . "<br>";
}
echo 'Total: ' . $query->num_rows(); // кол-во строк
foreach ($query->result_array() as $row) {
echo $row['title']; // вывод результата как ассоциативного массива
echo $row['name'];
echo $row['email'];
}
$row = $query->row(); // возвращает результат в виде обьекта выбирая только одну строку
echo $row->orderid;
$row = $query->row_array();// возвращает результат в виде массива выбирая только одну строку
echo $row['orderid'];

?>
</source>

<h3><span>Email</span></h3>
<h3><span>Email</span></h3>
<p >Назначение</p> <ul style="margin-top: 0cm">
<p >Назначение</p> <ul style="margin-top: 0cm">

Версия от 08:02, 8 октября 2007



Code Igniter - фреймворк написанный на PHP для построения веб-приложений.
Классы Code Igniter:

Benchmarking

Назначение

  • Функции CodeIgniter для измерения времени

Возможности:

  • Установка именованной точки для измерения
  • Получение времени прошедшего с установки определённой точки
  • Получение времени прошедшего с момента старта
  • Получение объёма использованной памяти

 

Пример кода:

<?php
$this->benchmark->mark('code_start');//устанавливаем точку для замера времени
//...код
$this->benchmark->mark('code_end');//устанавливаем вторую точку 
echo $this->benchmark->elapsed_time('code_start', 'code_end');//вычисляем время выполнения кода и выводим на экран
$this->benchmark->mark('dog');
//...код
$this->benchmark->mark('cat');
//...код
$this->benchmark->mark('bird'); // установили 3 точки для замера времени выполнения кода и далее выводим разницу времени по этим точкам
echo $this->benchmark->elapsed_time('dog', 'cat');
echo $this->benchmark->elapsed_time('cat', 'bird');
echo $this->benchmark->elapsed_time('dog', 'bird');
?>

Calendaring

Назначение

  • Функции CodeIgniter для создания календарей

Возможности:

  • Создание календаря на любую дату
  • Вставка ссылок в даты календаря
  • Вставка ссылок на предыдущий/следующий месяцы
  • Установка параметров: первый день недели, режим отображения месяца, режим отображения дня.
  • Вывод календаря на основе шаблона дизайна

 

<?php
$this->load->library('calendar');// загружаем класс в контроллере
echo $this->calendar->generate();// выводим календарь<br>
echo $this->calendar->generate(2006, 6); // выводим календарь на определенную дату

----

$prefs = array (<br>
               'start_day'    => 'saturday',
               'month_type'   => 'long',
               'day_type'     => 'short'
             );   // установка параметров для отображения
$this->load->library('calendar', $prefs);
echo $this->calendar->generate();// выводим календарь
?>

Config

Назначение

  • Функции CodeIgniter для получения параметров конфигурации

Возможности:

  • Загрузка основного/альтернативного файла конфигурации
  • Получение значения параметра конфигурации
  • Установка значения параметра конфигурации

 

<?php
$this->config->load('new_file'); // загрузка конфигурационного файла new_file.php который  лежит в папке /config 
echo $this->config->item('some_item'); // вывод переменной вашего конфигурационного файла new_file.php.
$this->config->set_item('some_item', 'new item value'); //Установка нового значения параметра конфигурации

?>

Файл new_file.php:

<?php
$config['some_item'] =”some text”; 
?>

Database

Назначение

  • Функции CodeIgniter для взаимодействия с БД

Возможности:

  • Установка параметров соединения с сервером БД
  • Подключение к БД
  • Возможность подключения к множественным БД
  • Формирование шаблона запроса
  • Получение результата запроса в виде объекта
  • Получение результата запроса в виде массива
  • Получение первой, последней, определённой строки результата
  • Получение количества строк в результате
  • Получение количества полей в результате
  • Получение количества строк, изменённых запросами INSERT, UPDATE и т.п.
  • Получение общего количества строк в таблице
  • Получение информации об используемом сервере БД
  • Получение версии БД
  • Получение текста последнего выполненного запроса к БД
  • Создание запроса на основе массива переменных
  • Поддержка объектно-ориентированного доступа к БД
  • Поддержка транзакций в принудительном и автоматическом режимах
  • Получение списка таблиц в БД
  • Проверка существования определённой таблицы в БД
  • Получение списка полей в таблице
  • Проверка существования определённого поля в таблице
  • Получение метаданных поля (имя, размер, тип, ключ)
  • Вызов функций PHP для работы с БД с получением результата средствами CI
  • Поддержка кеширования результатов запросов к БД
  • Создание БД
  • Удаление БД
  • Получение списка БД сервера
  • Вызов серверной процедуры оптимизации таблицы
  • Вызов серверной процедуры восстановления таблицы
  • Вызов серверной процедуры оптимизации БД
  • Генерация CSV из результата запроса
  • Генерация XML из результата запроса
  • Создание/восстановление резервной копии БД или таблиц с архивированием

 

 

<?php
$this->load->database(); // загружаем класс 
$query = $this->db->query('SELECT orderid, name FROM my_table'); // делаем запрос и возвращаем результат в виде обьекта
foreach ($query->result() as $row) 
	{
	    echo $row->orderid . "<br>"; // выводим результат
            echo $row->name . "<br>";
        }
echo 'Total: ' . $query->num_rows(); // кол-во строк  
foreach ($query->result_array() as $row) {
    echo $row['title']; // вывод результата как ассоциативного массива
    echo $row['name'];
    echo $row['email'];
}
$row = $query->row(); // возвращает результат в виде обьекта выбирая только одну строку
echo $row->orderid;
$row = $query->row_array();// возвращает результат в виде массива выбирая только одну строку
echo $row['orderid']; 

?>

Email

Назначение

  • Функции CodeIgniter для работы с электронной почтой

Возможности:

  • Отсылка сообщения
  • Установка параметров сообщения
  • Присоединение файлов к сообщению
  • Пакетный режим рассылки
  • Получение служебной информации почтового сервера
  • Принудительное отключение переноса слов в части сообщения

 

Encryption

Назначение

  • Функции CodeIgniter для криптографии

Возможности:

  • Установка типа ключа шифрования
  • Шифрование/дешифрование данных

 

File Uploading

Назначение

  • Функции CodeIgniter для загрузки файлов

Возможности:

  • Создание веб-формы загрузки фалов
  • Установка параметров/ограничений
  • Прием данных

 

FTP

Назначение

  • Функции CodeIgniter для работы с FTP

Возможности:

  • Подключение к серверу FTP
  • Передача файлов на сервер
  • Получение списка файлов в каталоге
  • Переименование, перемещение, удаление файлов на сервере
  • Создание, удаление каталогов на сервере
  • Установка атрибутов файла на сервере
  • Синхронизация локального каталога с каталогом на сервере

 

HTML Table

Назначение

  • Функции CodeIgniter для создания таблиц HTML

Возможности:

  • Генерация таблиц из результатов запросов к БД
  • Установка параметров таблицы
  • Генерация таблицы на основе шаблона дизайна

 

Image Manipulation

Назначение

  • Функции CodeIgniter для работы с изображениями

Возможности:

  • Установка параметров преобразования
  • Преобразование изображения - изменение размера, обрезка, поворот, наложение
  • Автоматическое создание эскиза
  • Поддержка наложения двух типов: текста и другого изображения

 

Input

Назначение

  • Получение/фильтрация данных

Возможности:

  • XSS-фильтр
  • Получение данных с фильтрацией: POST, cookie, SERVER
  • Простая проверка адреса IP
  • Получение данных о клиенте

 

Load

Назначение

  • Функции CodeIgniter для загрузки компонентов во время выполения

Возможности:

  • Загрузка классов, шаблонов, переменных, помощников, дополнений, сообщений и просто файлов.

 

Language

Назначение

  • Функции CodeIgniter для интернационализации

Возможности:

  • Загрузка файла сообщений
  • Получение текста сообщения по ключу

 

Output

Назначение

  • Функции CodeIgniter для управления выводом

Возможности:

  • Установка параметров заголовка
  • Включение/отключение профайлера
  • Непосредственная передача вывода
  • Получение вывода

 

Pagination

Назначение

  • Функции CodeIgniter для разбиения на страницы

Возможности:

  • Установка параметров вывода
  • Настройка дизайна блока выбора страниц

 

Session

Назначение

  • Функции CodeIgniter для работы с сессиями

Возможности:

  • Получение данных сессии
  • Установка параметров сессии
  • Добавление собственных данных в сессию
  • Поддержка сессий в БД

 

Тrackback

Назначение

  • Функции CodeIgniter для работы с трекбеками

Возможности:

  • Отсылка/приём трекбеков
  • Поддержка трекбеков в БД

 

Template Parser

Назначение

  • Функции CodeIgniter для работы с шаблонами страниц

Возможности:

  • Загрузка шаблона
  • Генерация вывода на основе шаблона
  • Поддержка циклов в шаблоне

 

Unit Testing

Назначение

  • Функции CodeIgniter для тестирования

Возможности:

  • Возможность тестирования функций на результат, тип результата
  • «Ленивый» и «строгий» режим тестирования
  • Возможность пакетного запуска тестов
  • Возможность формирования отчёта по тестам

 

URI

Назначение

  • Функции CodeIgniter для работы с URI-адресами

Возможности:

  • Получение значения сегмента по номеру
  • Преобразование URI в ассоциативный массив и обратно
  • Получение строки URI после имени сервера
  • Получение количества сегментов
  • Получение массива сегментов

 

User Agent

Назначение

  • Функции CodeIgniter для получения информации о клиенте

Возможности:

  • Проверка, является ли клиент: браузером, мобильным, роботом, рефералом
  • Получение строки идентификации браузера, мобильного или робота, версии и платформы клиента, реферера, допустимых языков и кодировок.

 

Validation

Назначение

  • Функции CodeIgniter для проверки данных форм

Возможности:

  • Установка правил проверки
  • Каскадирование правил проверки
  • Проверка данных формы
  • Подключение функций подготовки/фильтрации данных перед проверкой
  • Подключение собственных функций проверки
  • Возврат формы в случае ошибки
  • Установка индивидуальных сообщений об ошибках в данных

 

XML-RPC

Назначение

  • Функции CodeIgniter для организации XML-RPC-сервера/клиента

Возможности:

  • Установка метода обмена
  • Приём/отсылка запросов
  • Получение отладочной информации

 

Zip Encoding

Назначение

  • Функции CodeIgniter для работы с ZIP

Возможности:

  • Создание архива
  • Добавление файлов/каталогов в ахрив
  • Получение файлов/каталогов из архива
  • Запись архива на сервере
  • Передача архива клиенту