Полное руководство по Yii 2.0

Фреймворк Yii 2

Полное руководство по Yii 2.0

Данное руководство выпущено в соответствии с положениями о документации Yii.

All Rights Reserved.

2014 © Yii Software LLC.

Введение

Первое знакомство

Структура приложения

Обработка запросов

Основные понятия

Работа с базами данных

  • Объекты доступа к данным (DAO) - Соединение с базой данных, простые запросы, транзакции и работа со схемой.
  • Построитель запросов - Запросы к базе данных через простой слой абстракции.
  • Active Record - Получение объектов AR, работа с ними и определение связей.
  • Миграции - Контроль версий схемы данных при работе в команде.
  • Sphinx
  • Redis
  • MongoDB
  • ElasticSearch

Получение данных от пользователя

Отображение данных

Безопасность

Кеширование

Веб-сервисы REST

Тестирование

  • Обзор
  • Настройка тестового окружения
  • Модульные тесты
  • Функциональные тесты
  • Приёмочные тесты
  • Фикстуры

Специальные темы

Хелперы

Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Настройка отображения ошибок в Yii 2.0

Настройка отображения ошибок

[[yii\web\ErrorHandler|Обработчик ошибок]] меняет отображение ошибок в зависимости от значения константы YII_DEBUG. При YII_DEBUG равной true (режим отладки), обработчик ошибок будет отображать для облегчения отладки детальный стек вызовов и исходный код. При YII_DEBUG равной false отображается только сообщение об ошибке, тем самым не позволяя получить информацию о внутренностях приложения.


Обсудить эту статью

INFO: Вы отправляете сообщение как 'Гость'

Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Пользовательское хранилище для сессии в Yii 2

Пользовательское хранилище для сессии

По умолчанию класс [[yii\web\Session]] сохраняет данные сессии в виде файлов на сервере. Однако Yii предоставляет ряд классов, которые реализуют различные способы хранения данных сессии:

  • [[yii\web\DbSession]]: сохраняет данные сессии в базе данных.
  • [[yii\web\CacheSession]]: хранение данных сессии в предварительно сконфигурированном компоненте кэша кэш.
  • [[yii\redis\Session]]: хранение данных сессии в redis.
  • [[yii\mongodb\Session]]: хранение сессии в MongoDB.


Обсудить эту статью

INFO: Вы отправляете сообщение как 'Гость'

Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Отправка кук в Yii 2

Отправка кук

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


Обсудить эту статью

INFO: Вы отправляете сообщение как 'Гость'

Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Куки в Yii 2

Куки

Yii представляет каждую куку как объект [[yii\web\Cookie]]. Оба компонента приложения [[yii\web\Request]] и [[yii\web\Response]] поддерживают коллекции кук через свойство cookies. В первом случае коллекция кук является их представлением из HTTP-запроса, во втором - представляет куки, которые будут отправлены пользователю.


Обсудить эту статью

INFO: Вы отправляете сообщение как 'Гость'

Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Flash-сообщения в Yii 2

Flash-сообщения

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


Обсудить эту статью

INFO: Вы отправляете сообщение как 'Гость'

Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Валидация кук в Yii 2

Валидация кук

Во время записи и чтения кук через компоненты request и response, как будет показано в двух последующих подразделах, фреймворк предоставляет автоматическую валидацию, которая обеспечивает защиту кук от модификации на стороне клиента. Это достигается за счет подписи каждой куки секретным ключом, позволяющим приложению распознать куку, которая была модифицирована на клиентской стороне. В таком случае кука НЕ БУДЕТ доступна через свойство [[yii\web\Request::cookies|cookie collection]] компонента request.


Обсудить эту статью

INFO: Вы отправляете сообщение как 'Гость'

Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Преобразование псевдонимов в Yii 2

Преобразование псевдонимов

Метод [[Yii::getAlias()]] преобразует корневой псевдоним в путь к файлу или URL, который этот псевдоним представляет. Этот же метод может работать и с производными псевдонимами:

echo Yii::getAlias('@foo');               // выведет: /path/to/foo
echo Yii::getAlias('@bar');               // выведет: http://www.example.com
echo Yii::getAlias('@foo/bar/file.php');  // выведет: /path/to/foo/bar/file.php


Обсудить эту статью

INFO: Вы отправляете сообщение как 'Гость'

Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Чтение кук в Yii 2

Чтение кук

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


Обсудить эту статью

INFO: Вы отправляете сообщение как 'Гость'

Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Сессии в Yii 2

Сессии

По аналогии с запросами и ответами, к сессии можно получить доступ через session компонент приложения, который по умолчанию является экземпляром [[yii\web\Session]].


Обсудить эту статью

INFO: Вы отправляете сообщение как 'Гость'

Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Код состояния в yii 2

Код состояния

Первое, что вы делаете при построении ответа, — определяете, был ли успешно обработан запрос. Это реализуется заданием свойству [[yii\web\Response::statusCode]] значения, которое может быть одним из валидных HTTP-кодов состояния. Например, чтобы показать, что запрос был успешно обработан, вы можете установить значение кода состояния равным 200:


Обсудить эту статью

INFO: Вы отправляете сообщение как 'Гость'