Yii

Yii: функция автогенерации пароля

Удобный Security Manager класс представляет специальный метод для случайной генерации последовательности символов. Удобно использовать следующим образом: $password = Yii::app()->getSecurityManager()->generateRandomString(10); На входе у метода: количество символов для генерации. Также данный класс имеет множество различных очень полезных функций для шифрования, дешифрирования данных…
Read more

Yii: использование портлет

Очень часто требуется иметь на сайте блок, который присутствует на каждой странице и который делает определённое действие. Виджет не совсем подходит так как требуется навесить какую-то логику обработки. Требуется иметь такой мини контроллер, который бы легко встраивался на любую страницу…
Read more

Простой кэш страницы на Yii за 1 минуту

Бывает требуется постоянно рендерить большую и объемную страницу, где присутствует множество запросов к локальной базе данных или даже запросы по API к сторонним сайтам. Страницу как бы и показать нужно, но не обязательно дёргать постоянно всех (базу,API и так далее)…
Read more

Загрузка файлов через модель — Yii

Yii предоставляет очень удобную систему для валидации и загрузки различных типов файлов на сервер. Для того, чтобы начать загружать и сохранять файлы в модели нужно: 1) создать поле public $imageFile=»»; в классе модели 2) создать новое правило валидации: array(‘imageFile’, ‘file’,…
Read more

YiiMailer шаблон отсылки сообщений

Самое удобное расширение для yii по отправке сообщений. Сам YiiMailer можете поставить через Composer. Пример: $mail = new YiiMailer(); $mail->setFrom(Yii::app()->params[‘supportEmail’], ‘Компания’); $mail->setTo($model->email); $mail->setSubject(‘Наша тема’); $mail->setAttachment($PDFFile); $mail->setBody($message); $mail->send();

Кастомизация пагинатора (Pager) в Yii

Очень часто встаёт необходимость заменить классический пагинатор в Yii на свой. Переписывать все CSS стили можно преопределив класс pager, также first hidden, previous hidden, page selected, page, next,last. В коде виджета zii нужно (если это требуется) прописать свои параметры пагинатора: ‘pager’ => array(…
Read more

Шаблоны статических методов для модели в Yii

Очень часто нужны примеры методов для работы с моделями в yii. Привожу частые шаблоны:

CGrid view Yii — шпаргалка

Шпаргалка для вывода данных из дата провайдера в CGridView. 1. Сам провайдер данных:

2. CGridView:

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

Логирование операций в базу — Yii

Очень удобное расширение для логирования операций в базу данных. Для этого нам потребуется скачать расширение Затем прописать в config где секция ‘class’=>’CLogRouter’: array( ‘class’=>’ext.LogDb’, ‘autoCreateLogTable’=>true, ‘connectionID’=>’db’, ‘enabled’=>true, ‘levels’=>’error,warning,info’, ), Этого достаточно для записи всех необходимых событий в базу данных и…
Read more

Реляционные связи Active Record Yii — в трёх словах

Что нужно запомнить? Есть три основных типа связей в реляционных базах данных: Один ко многим [BELONGS_TO / HAS_MANY]. Как пример: Есть пользователь в таблице user(A), и есть таблица заказов orders(B). Соответственно записи заказов B принадлежат одному пользователю в таблице А….
Read more