Скаффолдинг
Скаффолдинг в CodeIgniter позволяет быстро и очень удобно добавить, изменить или удалить информацию из базы данных в ходе разработки приложения.
Очень важно: Скаффолдинг предназначен только для использования в ходе разработки. Он совершенно не безопасен, за исключением использования секретного слова в его названии. Каждый кто имеет к нему доступ может свободно модифицировать информацию в вашей базе данных. Если вы использовали скаффолдинг, то убедитесь, что не забыли отключить его. НЕ оставляйте его активным на работающем сайте. И, пожалуйста, переопределите секретное слово перед использованием.
Почему кто-то использует скаффолдинг?
Вот типичный сценарий: Вы создаете новую таблицу в базе данных в ходе разработки, и хотите сразу внести в нее некоторые данные. Без скаффолдинга вы можете либо написать несколько запросов в командной строке, либо использовать какую-нибудь СУБД, вроде phpMyAdmin. А когда закончите работу — сможете легко удалить эти данные.
Установка секретного слова
Прежде чем подключить скаффолдинг, пожалуйста, переопределите секретное слово. Это слово, при вводе которого в URL можно получить доступ к скаффолдингу, поэтому постарайтесь поставить его таким, чтобы никто не догадался.
Для установки секретного слова откройте ваш файл application/config/routes.php и найдите там такую строку:
$route['scaffolding_trigger'] = '';
Смените пустую строку на свое уникальное слово.
Замечание: Секретное слово скаффолдинга не может начинаться с подчеркивания.
Включение скаффолдинга
Замечание: Информация далее предполагает, что вы знаете как работают контроллеры, и у вас уже есть хотябы один. Так же предполагается, что вы уже настроили подключение к базе данных. Если нет, то информация здесь не будет для вас актуальной и вам предлагается ознакомиться с этими разделами в первую очередь. Наконец, полагается, что вы поняли какой класс имеет конструктор. Если нет, то читайте об этом с последней части главы о контроллерах.
Для подключения скаффолдинга, вы должны инициализовать его в свой контроллер:
<?php
class Blog extends Controller {
function Blog()
{
parent::Controller();
$this->load->scaffolding('table_name');
}
}
?>
Где table_name это имя таблицы (таблицы, не базы данных) с которой вы бы хотели работать.
После того как вы инициализируете скаффолдинг, он будет доступен вам по адресу, похожему на этот:
www.your-site.com/index.php/class/секретное_слово/
Например, при имени контроллера Blog и секретном слове abracadabra скаффолдинг будет доступен по адресу:
www.your-site.com/index.php/blog/abracadabra/
Скаффолдинг имеет свой интерфейс. Вы можете добавлять, изменять и удалять записи в таблице базы данных.
Последнее замечание:
Скаффолдинг будет работать только с теми таблицами, в которых определен PRIMARY KEY, т.к. это необходимо для работы с большинством функций базы данных.