Kohana Флипчарт Kohana на DevConf 2013

AmdY

Пью пиво
Команда форума
Да, нужно обязатиельно разбавить, а то в рунете все помешались на Yii.
 

AmdY

Пью пиво
Команда форума
Ragazzo
ага, лучший, как браузер opera. иностранные коллеги думали что yii это русский фреймворк из-за его анамальной популярности у нас. у них же zf, symfony, laravel, nette
 

Ragazzo

TDD interested
AmdY
да, это правда, у Yii очень сильное ru-сообщество, что впринципе отражено в команде. Опера кстати очень подкачала мягко говоря с новыми релизами :S
 

Фанат

oncle terrible
Команда форума
Саш, а помнишь, мы хотели битву фреймфорков забацать?
Блин, надо бы возродить идею-то...
 

Ragazzo

TDD interested
AmdY
сейчас посмотрел на хабре коммент про laravel, и у них в доках то же самое написано, смешно даже, вместо join у них 2 запроса на "Lazy Eager Loading", мда.... :S
ну а так есть много общего у них с Yii2, в том числе и сохранение связанных моделей, и простановка связей и т п.
 

fixxxer

К.О.
Партнер клуба
Ragazzo
Зато кэширование с таким подходом сделать легко. ;) Я, конечно, ни в коем случае не утверждаю, что это надо делать _вместо_ join-ов, но как _вариант_ это ок.

Хотя с внешним кэшированием ни одна orm не справляется - просто нет ручек, чтобы делать нормальную инвалидацию. onPhp разве что :)
 

Ragazzo

TDD interested
fixxxer
у такого решения нет плюсов, а такие "за" лишь притягивание за уши ;) кеширование и в Yii сделано по нормальному и в Kohana наверное :) вообще laravel не перестает "удивлять" :S мда...

Кстати может создаст уже кто ветку для laravel, конечно возможно "знатоков" по ней нет, но всякие новости либо еще что-либо можно туда сливать, м?
 

AmdY

Пью пиво
Команда форума
AmdY
вместо join у них 2 запроса на "Lazy Eager Loading", мда.... :S
Есть метод with
PHP:
foreach (Book::with('author')->get() as $book)
{
    echo $book->author->name;
}
Кстати может создаст уже кто ветку для laravel, конечно возможно "знатоков" по ней нет, но всякие новости либо еще что-либо можно туда сливать, м?
не надо, вообще, ИМХО, разделить фреймворки не лучшая идея, лучше бы создали общую тему, а то все обсуждения всё равно пересекаются с другими фреймворками. Да и не вспомнишь все.
 

Ragazzo

TDD interested
AmdY
ты что хотел показать этим примером? он как раз иллюстрирует этот костыле-баг:
Thankfully, we can use eager loading to drastically reduce the number of queries. The relationships that should be eager loaded may be specified via the with
method:
PHP:
foreach (Book::with('author')->get() as $book)
{
    echo $book->author->name;
}
In the loop above, only two queries will be executed:
PHP:
select * from books

select * from authors where id in (1, 2, 3, 4, 5, ...)
Wise use of eager loading can drastically increase the performance of your application.
что тут не так как я сказал? :S

уже этого вполне хватит чтобы списать за такие "уники" fw на склад :S
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
PHP:
select * from books

select * from authors where id in (1, 2, 3, 4, 5, ...)
уже этого вполне хватит чтобы списать за такие "уники" fw на склад :S
а тут еще надо проверить что быстрее в MySQL! я не раз решал затыки в базе разрезая JOIN-ы на серию коротких запросов
 

Absinthe

жожо
уже этого вполне хватит чтобы списать за такие "уники" fw на склад :S
С другой стороны в хайлоадах по идее все руками и перемножается, в базе ничего джойниться не должно :)
Ну это теория, практики у меня не было.
 

fixxxer

К.О.
Партнер клуба
С другой стороны в хайлоадах по идее все руками и перемножается, в базе ничего джойниться не должно :)
Ну это теория, практики у меня не было.
Все зависит от того, как мы делаем маппинг данных в базе на сущности (тот самый object-relational mapping в рамках одного класса). Одна сущность может быть представлена в базе несколькими таблицами - тогда нет никакого смысла не джойнить.
 

Absinthe

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