Режим конструктора (scaffolding)

 

В CodeIgniter режим конструктора (Scaffolding - англ. "леса") предоставляет средство для быстрого и удобного добавления, удаления и редактирования информации в базе данных на этапе разработки.
Важно: режим конструктора предназначен исключительно для использования на этапе разработки. В данном режиме обеспечивается только минимальная безопасность за счёт "секретного" слова, поэтому любой кто имеет доступ к сайту может изменить или удалить информацию в базе данных. Если вы использовали режим конструктора, убедитесь что вы отключили его сразу после использования. НЕ ОСТАВЛЯЙТЕ режим конструктора включённым на разработанном сайте. Убедитесь, что вы установили "секретное" слово перед тем, как использовать режим конструктора.

Для чего предназначен режим конструктора

Типичный пример: при разработке вы создали новую таблицу в базе данных и хотели бы вставить в неё несколько записей, прежде чем работать с ней. Без режима конструктора вам пришлось бы вставлять данные вручную или воспользоваться утилитой для работы с базой данных, такой как phpMyAdmin. При помощи режима конструктора CodeIgniter вы можете легко вставить данные используя web-интерфейс и так же легко удалить их после использования.

Установка секретного слова (ключа)

Прежде чем включать режим конструктора необходимо установить секретное слово (ключ) для данного режима. Это слово, если встречается в URL, запускает режим конструктора, поэтому выбирайте слово понадёжнее, чтобы посторонний не мог его угадать.

Для того, чтобы установить ключ, откройте файл application/config/routes.php и найдите в нем строку :

  1. $route['scaffolding_trigger'] = '';

Впишите в неё своё значение для секретного слова.
Примечание: секретное слово не должно начинаться с подчеркивания.

Включение режима конструктора

Примечание: предполагается, что вы уже ознакомились с работой контроллеров, и у вас уже имеется один работающий контроллер. Кроме того, предполагается, что CodeIgniter сконфигурирован для авто-подключения к базе данных. Кроме того, подразумевается что вы знаете что из себя представляет конструктор класса.

Для включения режима конструктора вам понадобиться инициализировать ваш контроллер следующим образом :

  1. <?php
  2. class Blog extends Controller {
  3.  
  4. function Blog()
  5. {
  6. parent::Controller();
  7.  
  8. $this->load->scaffolding('table_name');
  9. }
  10. }
  11. ?>

Здесь table_name - имя таблицы (а не базы данных), с которой вы хотите работать.

После инициализации режима конструктора вы можете использовать его следующим образом:

  1. www.your-site.com/index.php/class/secret_word

К примеру, если вы подготовили контроллер Blog и задали ключ abracadabra, вы можете использовать режим конструктора следующим образом:

  1. www.your-site.com/index.php/blog/abracadabra/

Интерфейс режима конструктора достаточно прост, вы можете добавлять, редактировать и удалять записи.

Последнее замечание:

Режим конструктора будет работать только с таблицами, для которых задан первичный ключ, т.к. эта информация необходима для выполнения различных операций с базой данных.

Отправить комментарий

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Allowed HTML tags: <a> <em> <b> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <p> <h2> <h3> <h4> <table> <tr> <td> <th>
  • Строки и параграфы переносятся автоматически.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]". PHP source code can also be enclosed in <?php ... ?> or <% ... %>.

Подробнее о форматировании

CAPTCHA
Этот вопрос предназначен для того, чтобы отсеять ботов
9 + 11 =
Решите простой математический пример и введите результат. К примеру, для вопроса 1+3 нужно ввести 4

Вход в систему

Последние комментарии