9. Почему Yii?
Легкий (в меру)
Гибкий
Расширяемый
Поддерживается (не в пример kohana etc.)
Довольно большое комьюнити
Русскоязычный разработчик (-и) ядра
Плагины/Расширения
Документация
13. Yii2
Latest News
OCT 12, 2014
Yii 2.0.0 is released
Yii 2.0 is finally coming, after more than three years of intensive
development with almost 10,000 commits by over 300 authors!
Thank you for your support and patience!
DEC 3, 2008
Yii 1.0.0 is released
21. Request
HTTP Headers
// $headers is an object of yiiwebHeaderCollection
$headers = Yii::$app->request->headers;
// returns the Accept header value
$accept = $headers->get('Accept');
if ($headers->has('User-Agent')) {
// there is User-Agent header
}
Быстрый доступ к заголовкам
userAgent
contentType
acceptableContentTypes
acceptableLanguages
34. Запросы в БД (Query builder)
$query->select(['user.name AS author', 'post.title as title'])
->from('user')
->leftJoin('post', 'post.user_id = user.id');
Multiple conditions can simultaneously be set in where using the hash format:
$query->where([
'status' => 10,
'type' => 2,
'id' => [4, 8, 15, 16, 23, 42],
]);
That code will generate the following SQL:
WHERE (` ` = 10) AND (` ` = 2) AND (` ` IN (4, 8, 15, 16, 23, 42))
$query = (new Query())
->from('user')
->orderBy('id');
foreach ($query->batch() as $users) {
// $users is an array of 100 or fewer rows from the user table
}
// or if you want to iterate the row one by one
foreach ($query->each() as $user) {
// $user represents one row of data from the user table
}
status type id
41. Полезные штуки: хелперы
// Remember current URL
Url::remember();
// Remember URL specified. See Url::to() for argument format.
Url::remember(['product/view', 'id' => 42]);
// Remember URL specified with a name given
Url::remember(['product/view', 'id' => 42], 'product');
In the next request we can get URL remembered in the following way:
$url = Url::previous();
$productUrl = Url::previous('product');
49. Спасибо за внимание!
Yii1 => Yii2
или "Назад в будущее"
Алексей Смолянов
Контакты:
Email: info@root.zt.ua
Skype: alexei.smolyanov
Twitter: @Dlittledev