Полное руководство по Yii 2.0
Полное руководство по Yii 2.0
Данное руководство выпущено в соответствии с положениями о документации Yii.
All Rights Reserved.
2014 © Yii Software LLC.
Введение
- О Yii
- Обновление с версии 1.1
- Пространства имён
- Компонент и объект
- Конфигурация объекта
- События
- Псевдонимы пути
- Представления
- Модели
- Контроллеры
- Виджеты
- Консольные приложения
- I18N
- Фильтры действий
- Ресурсы
- Хелперы
- Формы
- Построитель запросов
- Active Record
- Поведения Active Record
- User и IdentityInterface
- Разбор и генерация URL
- Использование Yii 1.1 вместе с 2.x
Первое знакомство
- Что вы должны знать
- Установка Yii
- Запуск приложения
- Говорим «Привет»
- Работа с формами
- Работа с базами данных
- Генерация кода при помощи Gii
- Что дальше?
Структура приложения
- Обзор
- Входные скрипты
- Приложения
- Конфигурации приложения
- Свойства приложений
- Обязательные свойства
- Важные свойства
- [[yii\base\Application::aliases|aliases]]
- [[yii\base\Application::bootstrap|bootstrap]]
- [[yii\web\Application::catchAll|catchAll]]
- [[yii\base\Application::components|components]]
- [[yii\base\Application::controllerMap|controllerMap]]
- [[yii\base\Application::controllerNamespace|controllerNamespace]]
- [[yii\base\Application::language|language]]
- [[yii\base\Application::modules|modules]]
- [[yii\base\Application::name|name]]
- [[yii\base\Application::params|params]]
- [[yii\base\Application::sourceLanguage|sourceLanguage]]
- [[yii\base\Application::timeZone|timeZone]]
- [[yii\base\Application::version|version]]
- Полезные свойства
- [[yii\base\Application::charset|charset]]
- [[yii\base\Application::defaultRoute|defaultRoute]]
- [[yii\base\Application::extensions|extensions]]
- [[yii\base\Application::layout|layout]]
- [[yii\base\Application::layoutPath|layoutPath]]
- [[yii\base\Application::runtimePath|runtimePath]]
- [[yii\base\Application::viewPath|viewPath]]
- [[yii\base\Application::vendorPath|vendorPath]]
- [[yii\console\Application::enableCoreCommands|enableCoreCommands]]
- Обязательные свойства
- События приложения
- Жизненный цикл приложения
- Компоненты приложения
- Контроллеры
- Модели
- Представления
- Модули
- Фильтры
- Использование фильтров
- Создание фильтров
- Стандартные фильтры
- [[yii\filters\AccessControl|AccessControl]]
- Фильтр метода аутентификации
- [[yii\filters\ContentNegotiator|ContentNegotiator]]
- [[yii\filters\HttpCache|HttpCache]]
- [[yii\filters\PageCache|PageCache]]
- [[yii\filters\RateLimiter|RateLimiter]]
- [[yii\filters\VerbFilter|VerbFilter]]
- [[yii\filters\Cors|Cors]]
- Виджеты
- Ресурсы
- Расширения
Обработка запросов
- Обзор
- Bootstrapping
- Разбор и генерация URL
- Запросы
- Ответы
- Сессии и куки
- Обработка ошибок
- Логирование
Основные понятия
- Компоненты
- Свойства
- События
- Поведения
- Конфигурации
- Псевдонимы
- Автозагрузка классов
- Service Locator
- Контейнер внедрения зависимостей
Работа с базами данных
- Объекты доступа к данным (DAO) - Соединение с базой данных, простые запросы, транзакции и работа со схемой.
- Построитель запросов - Запросы к базе данных через простой слой абстракции.
- Построение запросов
- [[yii\db\Query::select()|select()]]
- [[yii\db\Query::from()|from()]]
- [[yii\db\Query::where()|where()]]
- Строковый формат
- Формат массива
- Формат операторов
- Добавление условий
- Условия для фильтров
- [[yii\db\Query::orderBy()|orderBy()]]
- [[yii\db\Query::groupBy()|groupBy()]]
- [[yii\db\Query::having()|having()]]
- [[yii\db\Query::limit()|limit()]] и [[yii\db\Query::offset()|offset()]]
- [[yii\db\Query::join()|join()]]
- [[yii\db\Query::union()|union()]]
- Методы выборки
- Индексация результатов запроса
- Пакетная выборка
- Построение запросов
- Active Record - Получение объектов AR, работа с ними и определение связей.
- Миграции - Контроль версий схемы данных при работе в команде.
- Sphinx
- Redis
- MongoDB
- ElasticSearch
Получение данных от пользователя
- Создание форм
- Валидация
- Загрузка файлов
- Табличный ввод
- Работа с несколькими моделями
- Расширение ActiveForm на стороне клиента
Отображение данных
- Форматирование данных
- Постраничная разбивка
- Сортировка
- Провайдеры данных
- Виджеты для данных
- Работа с клиентскими скриптами
- Темизация
Безопасность
Кеширование
- Обзор
- Кэширование данных
- Компоненты кэширования
- Поддерживаемые хранилища
- Кэш API
- Ключи кэша
- Срок действия кэша
- Зависимости кэша
- Кэширование запросов
- Очистка кэша
- Конфигурации
- Использование
- Ограничения
- Компоненты кэширования
- Кэширование фрагментов
- Кэширование страниц
- HTTP кэширование
Веб-сервисы REST
- Быстрый старт
- Ресурсы
- Контроллеры
- Роутинг
- Форматирование ответа
- Аутентификация
- Ограничение частоты запросов
- Версионирование
- Обработка ошибок
Инструменты разработчика
Тестирование
Специальные темы
- Шаблон приложения advanced
- Создание приложения с нуля
- Консольные команды
- Встроенные валидаторы
- Docker
- Интернационализация
- Отправка почты
- Оптимизация производительности
- Окружение виртуального хостинга
- Шаблонизаторы
- Работа со сторонним кодом
- Использование сторонних библиотек в Yii
- Использование пакетов Composer
- Использование отдельных библиотек
- Использование Yii в сторонних системах
- Использование Yii 2 в связке с Yii 1
- Использование сторонних библиотек в Yii
- Использование Yii в качестве микро-framework'а
Виджеты
Хелперы
- Информация о материале
- Родительская категория: Полное руководство по Yii 2.0
- Категория: Безопасность
Расширение AuthClient для Yii 2
Данное расширение добавляет OpenID, OAuth и OAuth2 требующиеся для Yii framework 2.0.
- Информация о материале
- Родительская категория: Полное руководство по Yii 2.0
- Категория: Безопасность
Криптография
В этом разделе мы рассмотрим следующие аспекты безопасности:
- Информация о материале
- Родительская категория: Полное руководство по Yii 2.0
- Категория: Безопасность
Работа с паролями
Многие разработчики знают, что хранить пароль открытым текстом нельзя, но многие до сих пор считают безопасным использование для хеширования паролей md5
или sha1
. Раньше упомянутых алгоритмов было достаточно, но современное оборудование позволяет подобрать эти хеши очень быстро, методом простого перебора.
Для того, чтобы обеспечить повышенную безопасность паролей ваших пользователей даже в худшем случае (ваше приложение взломано), нужно использовать алгоритм шифрования, устойчивый к атаке перебором. Лучший вариант в текущий момент bcrypt
. В PHP вы можете использовать хеши bcrypt
через функцию crypt. Yii обеспечивает две вспомогательные функции, которые упрощают использование функции crypt
для генерации и проверки пароля.
- Информация о материале
- Родительская категория: Полное руководство по Yii 2.0
- Категория: Безопасность
Авторизация
Note: этот раздел находится на стадии разработки.
Авторизация — это процесс проверки того, что пользователь имеет достаточно прав, чтобы выполнить какие-то действия. Yii предоставляет два метода авторизации: фильтры контроля доступа (ACF) и контроль доступа на основе ролей (RBAC).
- Информация о материале
- Родительская категория: Полное руководство по Yii 2.0
- Категория: Безопасность
Аутентификация
Аутентификация — это процесс проверки подлинности пользователя. Обычно используется идентификатор (например, username
или адрес электронной почты) и секретный токен (например, пароль или ключ доступа), чтобы судить о том, что пользователь именно тот, за кого себя выдаёт. Аутентификация является основной функцией формы входа.
- Информация о материале
- Родительская категория: Полное руководство по Yii 2.0
- Категория: Безопасность
Безопасность
Хорошая безопасность жизненно важна для успеха любого приложения. К сожалению, многие разработчики не уделяют ей должного внимания. Происходит это либо из-за недостатка понимания, либо из-за того, что это слишком сложно. Чтобы сделать ваше приложение максимально безопасным, в Yii включено несколько превосходных и простых в использовании функций безопасности.
Подкатегории
Введение Кол-во материалов: 2
Первое знакомство Кол-во материалов: 8
Структура приложения Кол-во материалов: 12
Обработка запросов Кол-во материалов: 8
Основные понятия Кол-во материалов: 9
Работа с базами данных Кол-во материалов: 8
Получение данных от пользователя Кол-во материалов: 6
Отображение данных Кол-во материалов: 7
Безопасность Кол-во материалов: 7
Кеширование Кол-во материалов: 5
Веб-сервисы REST Кол-во материалов: 9
Инструменты разработчика Кол-во материалов: 3
Тестирование Кол-во материалов: 6
Специальные темы Кол-во материалов: 12
Виджеты Кол-во материалов: 2
Хелперы Кол-во материалов: 4
Страница 8 из 51