Konstantin
Кто сможет объяснить в чем смысл behaviors yii? Чем это отличается от событий?
Пантелеев
Кто сможет объяснить в чем смысл behaviors yii? Чем это отличается от событий?
я так понял это ближе не к событиям а к трейтам и декораторам, т.е для повторного использоывания кода они. Но я час назад только начал yii изучать могу ошибаться
SiZE
Кто сможет объяснить в чем смысл behaviors yii? Чем это отличается от событий?
поведения - это аналог трейтов. для подключения общего кода в разные классы не используя наследование, другими словами композиция. При вызове метода или свойства наследник Component проверяет в т.ч. наличие его в подключенных поведениях.
Максим
Ещё один способ симулировать множественное наследование.
Vasily
Поведения - это не трейты и не декораторы. Это некое представления паттера композиция. Все тоже самое можно сделать и без поведения. Создаем общий интерфейс и вперед.
Vasily
Хотя, можно сказать, что и декоратор здесь подходит. Поэтому, проще говоря, одна из штук для того, чтобы избежать наследование.
SiZE
Принципиальное отличие от трейтов в том, что компилятор добавляет методы и свойства трейта в класс при компиляции, а поведение реализуется на основе магических методов.
Vasily
Хорошо. Вы сможете подключить динамически в зависимости от ситуации нужный трейт?
SiZE
Да
SiZE
В кодеигнайторе есть такой грязный хак )
SiZE
Не с трейтами конечно
SiZE
но с динамической подменой наследника
Vasily
Я про трейты спрашиваю.
SiZE
Да не важно с чем
Vasily
Без подмены.
SiZE
можно чо угодно подменить
SiZE
так динамически же
Vasily
Чистый, читаемый и тестируемый код.
Vasily
А не говнокод. Это разные вещи.
SiZE
пошли условия
Vasily
Можно и хер сломать, дак что теперь.
SiZE
вопрос был "сможете динамически подключить?" -да могу )))
Vasily
Ну, я не подумал, что будут варианты из серии "говнокод".
SiZE
Ну трейты сами по себе довольно неявные
SiZE
Я их крайне редко пользую
Vasily
Трейты это явная весч, которая очевидно рубится в класс.
SiZE
Дебажить с ними не удобно
Vasily
Вы просто не просекли их фичу.
SiZE
Есть минутка просвЯтить? :)
Vasily
Если честно, то нет. Но есть пример: у вас есть какой-то код для отображения данных для личного кабинета пользователя и в админ панели. Среди этого множества строк у вас отличаются пару методов. Вы общий код выносите в трейт, описываете абстрактные методы (требования) и подключаете туда и сюда. В итоге все прозрачно. Без наследования. Что-то другое здесь явно будет избыточным. Ну и просто и быстро.
SiZE
Эм.. ну это вы описали работу трейта. Я на счет этого то в курсе. Я думал есть какая-то еще магия :)
Vasily
А, нет, никакой магии.
Mikhail
А чем не нравится наследования (ну или композиция или ещё что)?
Mikhail
Пример, если честно, тоже кажется немного высосанным из пальца.
Mikhail
Я против трейтов ничего не имею, один раз попользовался, когда эта штука только появилась. Но вот на реальных проектах ни разу не понадобилась.
Максим
Mikhail
Тем не менее.
Vasily
Все зависит от проекта. Можно обойтись и без трейтов затратив больше времени на что-то. Где попало их тоже сувать не нужно. Я трейтами пользусь постоянно. Особенно в репозиториях или сервисах.
Vasily
Язык (инструмент) нужно использовать по максимуму, имхо. Многие проблемы решаются сами собой.
Mikhail
> Можно обойтись и без трейтов затратив больше времени на что-то. Не факт. > Язык (инструмент) нужно использовать по максимуму, имхо. Трейты ради трейтов? > Многие проблемы решаются сами собой. Если их не создавать, то ещё лучше. > Я трейтами пользусь постоянно. ... и прекрасно себя чувствую.
Vasily
Как скажите.
Konstantin
Всем привет! Кто знает есть ли для yii какой-нибудь генератор статических страниц(лендингов) ?
Dmitriy
https://github.com/bupy7/yii2-pages
Anonymous
Подскажите готовый движок на yii2, который можно было бы легко подпилить под себя при необходимости
Александр
dotplant2 ;)
Пантелеев
Ребята а первый yii еще поддерживается?
Dmitriy
да
Dmitriy
чисто ошибки исправляют
Пантелеев
спс
SiZE
чисто ошибки исправляют
только если очень критичные
SiZE
Кто-то может на вскидку сказать. Валидатор date валидирует високосный год и количество дней в месяце?
Toly
Да
Александр
по-идее он использовать intl должен,
Пантелеев
Ребят а первый Yii не ставится черзе композер?
Пантелеев
ну екарный бабай)
Andrey
да, он такой)
Vladimir
с версии 1.1.14
SiZE
Ребят а первый Yii не ставится черзе композер?
мне просто интересно, как ты с композером работаешь то при таких вопросах?
SiZE
https://packagist.org/packages/yiisoft/yii
Пантелеев
SiZE
ну типа тебе впадлу зайти на пакеджист и вбить yii?
Пантелеев
нет, мне просто не понравилось, что об этом не написано в офф доке Для установки Yii, как правило, необходимо выполнить два шага: Скачать Yii Framework с yiiframework.com. Распаковать релиз Yii в директорию, доступную из веб.
Vasily
Ну в офф.репе ж есть composer.json значица должен
Antony
Кто-нибудь работал с yii2+vue.js? Подскажите как лучше реализовать шаблоны итп?
SiZE
http://yiiframework.ru/news/122/yii-polucil-nagradu-tagline-kak-lucsij-backend-frejmvork
Konstantin
Все привет! Кто подскажет почему может не работать upload php, js, css файлов(mp3, ogg, gif, png ,,, работает) ?
Sergey
Неправильно настроен сервер
Konstantin
т.е. это где-то в php.ini есть ограничения на загрузку php файлов?
SiZE
что аватарка животворящая делает 😃
Mikhail
Добавляй быстрее, он программирует на html5 и css3
SiZE
Нафиг нафиг )
SiZE
Он уже фотки просит )
Dmitriy
что аватарка животворящая делает 😃
он же должен русский знать
Иван
Привет. Только что поставил php7. Запускаю любой старый проект, получаю ошибки из-за отсутствия mb_string. Cтавлю yii2-app-basic, отдаёт 0 байт и никаких ошибок. mb_string придётся всётаки поставить или тут другие причины могут быть?