Функция: — хотите использовать метод trim() в контроллере beforeAction для удаления пробелов слева и справа от каждого сообщения? Лучший способ использования trim в модельных правилах, подобных этому либо см. валидаторы
Read MoreРубрика: Yii2
composer help
Usage: help [options] [—] [<command_name>] Arguments: command The command to execute command_name The command name [default: «help»] Options: —xml To output help as XML —format=FORMAT The output format (txt, xml, json, or md) [default: «txt»] —raw To output raw command help -h, —help Display this help message -q, —quiet Do not output any message -V, —version Display this application version —ansi Force ANSI output —no-ansi Disable ANSI output -n, —no-interaction Do not ask any interactive question —profile …
Read MoreПодключение AutoComplete в Yii 2.0
AutoComplete — класс для автозаполнения строки ввода. К примеру вы захотели сделать на своем сайте функцию помогающую заполнять поле город. При вводе начальных символов всплывает подсказка со списком городов имеющих в названиях введенные вами символы. Для использования класса AutoComplete в Yii 2.0 нам необходимо его подключить к своему шаблону. Как правило подключения классов в yii 2.0 осуществляется верхней части шаблона Для использования jui подключите его к фреймворку Вставьте в composer.json file и потом update composer( используйте код ) Так же надо будет указать путь до модели откуда будут браться данные.…
Read MoreКэширование данных — Yii2
Кэширование данных заключается в сохранении некоторой переменной PHP в кэше и её последующем извлечении. Оно является основой для расширенных возможностей, таких как кэширование запросов и кэширование страниц. Типичные варианты кэширования и получения данных: Когда анонимной функции требуются данные из внешней области видимости: Компоненты кэширования Кэширование данных опирается на компоненты кэширования, которые представляют различные хранилища, такие как память, файлы и базы данных. Кеш-компоненты, как правило, зарегистрированы в качестве компонентов приложения, так что их можно настраивать и обращаться к ним глобально. Кэширование с использованием файлов: Кэширование с использованием Memcached с двумя серверами:…
Read MoreМаршрутизация и создание URL — Yii2
Когда запрос от браузера поступает в файл index.php приложения, браузер анализируется на предмет того, какой контроллер и метод нужно вызвать, чтобы сформировать страницу. Данный процесс называется маршрутизацией. Обратный процесс — создание URL-адреса, когда известны контроллер и метод, которые необходимо вызвать. Менеджер URL Менеджер URL представляет собой компонент приложения, который используется для анализа входящих запросов с помощью метода parseRequest(), а также для создания новых URL-адресов с помощью метода createUrl(). Запросы разбираются на маршруты, которые принимают вид controller/action. В данном случае менеджер URL-адресов сообщает Yii2, какой контроллер создавать и какой метод вызывать. Использование метода createUrl() для формирования URL-адресов гарантирует,…
Read MoreИспользование сессии — Yii2
Сессия позволяет сохранять пользовательские данные между запросами. При использовании чистого PHP можно получить доступ к этим данным через глобальную переменную $_SESSION. Yii2 инкапсулирует сессию в объект, что дает возможность обращаться к пользовательским данным в объектно-ориентированном стиле. К сессии можно получить доступ через компонент приложения session, который по умолчанию является экземпляром класса yii\web\Session. Открытие и закрытие сессии Открыть и закрыть сессию можно следующим образом: Можно вызывать open() и close() многократно без возникновения ошибок — внутри компонента все методы проверяют сессию на предмет того, открыта она или нет. Доступ к данным сессии Получить доступ к сохраненным в сессию данным…
Read MoreМетки полей формы — Yii2
По умолчанию, метки полей формы автоматически генерируются из названия поля. Генерация выполняется методом generateAttributeLabel() класса yii\base\Model. Он преобразует первую букву каждого слова в верхний регистр, если имена переменных состоят из нескольких слов. Например, username станет Username, а firstName станет First Name. Если такой вариант не устраивает, нужно переопределить метод yii\base\Model::attributeLabels(): Теперь при создании формы в шаблоне, метки задавать не нужно: Интернационализация
Read MoreВиджет ActiveForm — Yii2
Рассмотрим часто использующийся при разработке виджет ActiveForm. Виджет позволяет добавить на сайт форму с полями ввода, кнопками, списками выбора, чекбоксами, радио кнопками. Для создания формы подключаем в шаблоне следующие классы: Инициализация формы Текстовое поле Простое текстовое поле Текстовое поле с подсказкой и описанием Текстовое поле для e-mail Простое поле для e-mail Поле с подсказкой и описанием Поле для ввода пароля Простое поле для пароля Поле с подсказкой и описанием Многострочное текстовое поле Простое многострочное поле Многострочное поле определенного размера с описанием
Read MoreИнтернационализация — Yii2
Интернационализация (i18n) является частью процесса разработки приложения, которое может быть адаптировано для нескольких языков без изменения программной логики. Это особенно важно для веб-приложений, так как потенциальные пользователи могут приходить из разных стран. В Yii приложении определены два языка: исходный язык и язык перевода. На исходном языке написаны сообщения в коде приложения. Если исходным языком задан английский, то в коде можно использовать конструкцию: Язык перевода определяет, в каком виде будет отображаться текущая страница, т.е. на какой язык будут переведены оригинальные сообщения. Этот параметр может быть задан в конфигурации приложения: Кроме того,…
Read MoreВиджеты — Yii2
Виджеты — это некоторые компоненты, которые предназначены в первую очередь для реализации элементов интерфейса и которые можно использовать многократно. Классическим примером такого элемента может быть меню. Меню используется практически на каждой странице сайта и от страницы к странице остается неизменным. То есть, на каждой странице нужно повторять один и тот же код для получения меню и его вывода. Но благодаря виджетам можно избежать этой утомительной процедуры и создать меню только один раз, а затем просто вызывать его. Размещаются виджеты в папке components, которую нужно создать в корне приложения. Для создания виджета…
Read More