Yii2 и организация мультиязычности

2014-06-26 12:47
Просмотры: 5169

Долгожданный выход Yii 2.0 Beta дал стимул многим разработчикам, использующих Yii, к переходу на вторую версию фреймворка. Разработчики фреймворка указали, что постараются не трогать обратную совместимость и в основном будут сосредоточены над исправлением ошибок и заканчивать документацию. Это дает еще больший импульс к использованию Yii2 в реальных проектах.

Мы решили не отставать от новшеств и выбрали именно вторую версию замечательного фреймворка Yii. При разработке проекта возникла необходимость в организации мультиязычности на сайте.

Постановка задачи

1. Количество языков неограниченно.
2. URL сайта представлены как ЧПУ и SEO оптимизированы. Ссылки вида:
example.com/en/mypage
example.com/ru/mypage
example.com/de/mypage
3. Минимальные изменения в работе с фреймворком. Ресурс по ссылке example.com/mypage должен отдаваться на языке, установленным по умолчанию. Правила роутинга не должны изменяться в зависимости от количества языков.

Категории: Yii

Yii фреймворкИногда возникает потребность работать с данными из приложения Yii в стороннем скрипте, например, вывести количество записей в таблице или произвести иные действия. Удобней всего делать это, используя классы Yii.

Что бы использовать эту возможность, нам потребуется просто не запускать Yii приложение, а только подключить для дальнейшего использования. Создадим файл yii.php, в который всавим следующий код:

Категории: Yii

Yii доступен через Composer

2013-09-23 10:50
Просмотры: 826

Популярный PHP фреймворк Yii доступен, как пакет Composer. Включен в репозиторий packagist.org.

Категории: Yii

Примеры использования CDbCriteria в Yii

2013-09-21 23:09
Просмотры: 21346

yii CDbCriteriaCDbCriteria - это набор правил, критериев, по которым строится запрос, обычно SQL. Например, сортировка - order by, смещение offset, ограничение - limit.

Может использоваться в методах ActiveRecord, например в: CActiveRecord::find и CActiveRecord::findAll.

Категории: Yii

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

Модель

Файла для сохранения будем хранить в переменной $image класса модели. Так же, в правилах валидации объявляем правило для проверки файла, так как он приходи из формы.

Категории: Yii

Хранение паролей в web-приложении

Существует много примеров и материалов, в которых показано как хранить пароли в базе данных.

Часто описанные методы некачественные и подвержены взлому. В сети есть много учебных примеров, которые показывают, как сделать это неверно.

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

Категории: Yii