mr.
enableSchemaCache => true
shemaCachDuration => 300
mr.
в db connection
Vadim
Включи кеширование схемы, ну минут на 5
Работает, спасибо!
А на какое время можно кешировать? Пусть бы оно вечно хранилось, а не 5 минут. Или при следующем запросе используется старый кэш и потом перезаписывается?
mr.
Вечно не надо, особенно на дев
Vadim
Ну дев понятно, я про прод
mr.
Если схему поправишь, то будешь долго не понимать, от чего свежедобавленное поле не видит ORM
mr.
Я на проде минут 5-10 делаю, на дев 1
Vadim
Borys
ребят
Borys
html в модели это ок?
Yura
Не)
SiZE
Yura
Ну если очень прям надо то никто не побьет(наверное)
Borys
это не просто шыт
Borys
это шытише
Yura
Скорее всего побьет
Yura
А зачем там?
SiZE
Сделай декоратор
Borys
да это не мне, с челиком общаюсь, пишет мне что это ок
Borys
и модель может содержать все что угодно
Borys
включая html
Dmitriy
Borys
Да и видео для друга просят, а не для себя :)
Konstantin
@ExileeD я кстати так и не понял, почему ты так осуждаешь наследование
Dmitriy
Dmitriy
и какие подводные камни могут быть
Павел
Не устаем говорить о вреде наследования
Dmitriy
они сами
Konstantin
я серьезно, вроде ж нормальная парадигма
Dmitriy
Наследование не учитывает будущие изменения родительского класса.
Konstantin
гм
Konstantin
а просто использование родительского класса учитывает будущие изменения в нем?
Konstantin
ну вот для примера, есть \yii\db\ActiveQuery
Konstantin
я от него унаследовался и добавил ему методов (всяких скоупов)
andrew
Ого
andrew
Какие люди
Konstantin
и теперь что, мой код сломается, если разработчики фреймворка радикально изменят \yii\db\ActiveQuery?
Konstantin
фреймворки не могут без чего?
Konstantin
это ж я сам от базового класса унаследовался
andrew
Без php
Konstantin
а интерфейс, значит, мы запретили менять каким-то волевым решением?
Павел
Konstantin
ну просто если какой-то болван решил покалечить какой-то класс в проекте, то сломаются все места, где этот класс используется
Konstantin
то есть если покалечить некий класс не запрещено, то почему пользоваться этим классом нормально, а наследоваться от него ненормально?
Konstantin
чем наследование от класса хуже использования?
Dmitriy
Konstantin
а если от этого метода зависит что-то еще в проекте?
Konstantin
ну вот на конкретном примере, раньше метод возвращал boolean, а начал возвращать массив
Dmitriy
Все поломается. и мы узнаем поздно. А интерфейс с бережет от этого
andrew
Konstantin
ну какие компиляторы в интерпретируемом языке? :)
Konstantin
все равно как-то странно получается
Konstantin
объявляем интерфейс, в котором заявляем, что метод возвращает boolean
Dmitriy
Konstantin
создаем класс, который реализует интерфейс
Konstantin
окей
Dmitriy
Konstantin
если балбес в классе поменял возвращаемый тип, получил ошибку
Konstantin
что мешает балбесу изменить интерфейс?
Dmitriy
ничего. но мы это поймем в своем классе
andrew
Что мешает балбесу случайно удалить весь проект
Dmitriy
у нас тоже реализует интерфейс класс
Konstantin
а у нас класс сломается...
Konstantin
ну вообще да
Konstantin
только для этого интерфейс необязателен
andrew
Что мешает балбесу уронить стойку с сервером
Konstantin
а если мы хинт приделаем к этому классу?
Konstantin
что метод возвращает конкретный тип
Konstantin
неужели у нас интерпретатор не ругнется, что мы его теперь переопределяем?
Dmitriy
а толку ? я в родительском могу его изменить
andrew
Интерфейс еще нужен для принципа подстановки solid. И чтобы можно было адаптеры прикручивать
Dmitriy
не для солид. а для контейнера
Konstantin
я ж не против интерфейсов
Konstantin
просто не понимаю этой панической боязни наследования