{{tag>yii frameworks}}


====== Компоненты yii ======

===== Компоненты =====

**Динамическая загрузка компонента**
<code php>
//загрузка компонента
Yii::app()->setComponents(array
('mycomponent'=>array('class'=>'ext.mycomponent.component')));

//Вызов метода компонента
$return = Yii::app()->mycomponent->render();
</code>

**Стандартная конфигурация компонета**

nano /config/main.php
<code php>
  // application components
  'components'=>array(

    'request' => array(
      // http://www.yiiframework.com/doc/guide/1.1/ru/topics.security
      //'enableCsrfValidation'=>true,
      'enableCookieValidation'=>true,
    ),
  
  ),
</code>
===== Base =====

  * Yii::app()->**[[statePersister|statePersister]]**; - ([[https://github.com/yiisoft/yii/blob/1.1.12/framework/base/CStatePersister.php|CStatePersister]]) Хранение переменных в файле state.bin
    * load()
    * save()
  * Yii::app->[[yii:CHttpRequest|request]] ([[https://github.com/yiisoft/yii/blob/master/framework/web/CHttpRequest.php|CHttpRequest]])
    * getParam()
    * getIsAjaxRequest()
    * getIsPostRequest()
    * sendFile()

===== Бд =====

    * [[yii:Active Record|Active Record]]
      * [[yii:Cache|Cache]]
      * [[yii:behaviors|Behaviors]]
      * [[yii:CDbCriteria|CDbCriteria]]
      * [[yii:CActiveDataProvider|CActiveDataProvider]]
      * [[yii:csort|CSort]]
    * [[yii:DAO|DAO надстройка над PDO]]
      * [[yii:CDbCriteria|CDbCriteria]]
    * [[yii:sql:plain|Plain]]

<note tip>http://www.yiiframework.com/doc/guide/1.1/ru/database.query-builder</note>
===== Кеширование =====

  * [[yii:Cache|Cache]]

===== Контроллеры =====

  * [[yii:Controllers|Controllers]]
    * [[yii:Controllers:filters|filters]] - Задаются фильтры проверок
    * [[yii:Controllers:accessRules|accessRules]] - Задаются правила проверок (Правила доступа к контроллеру)
    * [[http://yiiframework.ru/doc/cookbook/ru/access.rbac.file|RBAC]]

===== Модели (Форма, Таблица) =====

  * [[yii:Models|CActiveRecord]]
    * [[yii:Models:rules|rules]] - Для проверки при сохранении
      * ->validate()
        * [[yii:Models:validates|Yii Framework 1.1 Validators Cheatsheet]]
    * [[yii:behaviors|Behaviors]]
    * [[yii:workflow-methods|Работа с методами модели]] - $model = new Model();, $model = new Model('search');
  * [[yii:Models|CFormModel]]
    * [[yii:Models:rules|rules]] - Для проверки при сабмите
      * ->validate()
        * [[yii:Models:validates|Yii Framework 1.1 Validators Cheatsheet]]
        * http://yiiframework.ru/doc/guide/ru/form.model
        * http://yiiframework.ru/doc/cookbook/ru/form.validation.reference

===== Представления =====


  * [[yii:Webmaster|Java-Script & CSS]]
  * [[yii:Views|Views]]
    * [[yii:Cache|Cache]]
    * [[yii:CHtml|CHtml]]
      * [[yii:CHtml:simplre|Simple]]
        * link('Title', array(), array())
        * normalizeUrl(array())
        * encode("")
      * [[yii:CHtml:ajax|Ajax]]
        * CHtml::ajaxLink()
    * [[yii:CFormatter|CFormatter]] ([[http://www.yiiframework.com/doc/api/CFormatter|CFormatter]])
    * **[[yii:Widgets |Widgets]]**
      * CDetailView
      * [[yii:widgets:CListView|CListView]]
      * [[yii:widgets:cgridview|CGridView]]
      * [[yii:widgets:CPortlet|CPortlet]]
    * ШАБЛОНЫ
        * **[[http://cniska.net/yii-bootstrap/|Yii-bootstrap]]**
        * **[[https://github.com/clevertech/YiiBoilerplate|YiiBoilerplate]]**
        * **[[http://yii-booster.clevertech.biz/index.html|YiiBooster]]** *
        * **[[https://github.com/VisualAppeal/YiiBootstrap|YiiBootstrap]]**
    * WebMaster
      * CSS
      * JS
      * [[http://yiiframework.ru/doc/cookbook/ru/js.package|Создание пакетов JS и CSS]]
