Документация

Начало работы

Модели (models)

Шаблоны (views) и маршрутизация (routes)

Формы

SQL запросы

Сессии и безопасность

Плагины

Простые модели

Простые модели используются для хранения уникальных данных и отличаются от обычных следующими признаками:

  1. Класс модели наследуется от класса "Model_Simple".
  2. SQL таблица модели содержет всего 2 поля "key" и "value", где "key" - строковый первичный ключ, "value" - текстовое поле (можно использовать строковый тип данных если не предполагается наличие многострочного текста в значениях полей).
  3. При создании модели значения ключей в таблицу заносить не обязательно, в MV это делается автоматически.

В остальном создание простой модели подчиняется принципам, описанным в разделе Общие принципы моделей.

Пример 1

<? 
class Seo extends Model_Simple
{
   protected $name = "SEO параметры";

   protected $model_elements = array(
      array("Заголовок", "char", "title"),
      array("Ключевые слова", "text", "keywords"),
      array("Описание", "text", "description"),
      array("Robots.txt", "text", "robots")
   );
}
?>
CREATE TABLE `seo` (
  `key` varchar(100) NOT NULL,
  `value` text,
  PRIMARY KEY (`key`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Пример 2

<?
class Site_Params extends Model_Simple
{
    protected $name = "Параметры сайта";

    protected $model_elements = array(
        array("Показывать баннер", "bool", "show_banner"),
        array("Слоган на главной", "char", "slogan"),
        array("Получатель сообщений с сайта", "email", "email", array("required" => true)),
        array("Количество новостей на главной", "int", "news_number", array("required" => true, 
                                                                            "positive" => true, 
                                                                            "zero_allowed" => false)),
        array("Текст в нижней части", "text", "footer_text", array("rich_text" => true)),
    );
}
?>
CREATE TABLE `site_params` (
  `key` varchar(100) NOT NULL,
  `value` text,
  PRIMARY KEY (`key`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Пример 3

<?
class Settings extends Model_Simple
{
    protected $name = "Настройки проекта";

    protected $model_elements = array(
        array("Показывать баннер", "enum", "promo", array("empty_value" => "Всегда", 
                                                          "values_list" => array("morning" => "Утром", 
                                                                                 "evening" => "Вечером", 
                                                                                 "night" => "Ночью"))),
        array("Дата приема заявок", "date_time", "work_date"),
        array("Прайс лист", "file", "price_file"),
        array("Картинка в верхней части", "image", "top_image"),
        array("Галерея изображений", "multi_images", "gallery"),
    );
}
?>
CREATE TABLE `settings` (
  `key` varchar(100) NOT NULL,
  `value` text,
  PRIMARY KEY (`key`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Процесс извлечения данных простых моделей в шаблоны описан в разделе Вывод данных в шаблоне.

Предыдущий раздел

Настройка модели

Следующий раздел

Внешние ключи