Screamie
ImageContent( id,'lang', image_id, title, intro, desc, content и т.д.) а шо не так ?
Все на месте, да что-то не так (с) =) Эта реализация стандартная. Меня раздражает, что на запрос одной галереи идут 4 джойна. Я спрашивал это нормально или нет. И есть ли решение поприятней и побыстрей.
Screamie
Предлагали nosql, но там свои грабли и не хочу туда идти
Screamie
Три получается, сорян)
The Ant
инфу по галерее отдельным заепросом
Screamie
Галерея - картинка - контент
The Ant
ты не видишь чтоль чо пишу?
Screamie
Вижу
The Ant
галерей мало, по сравнению с картинками. ее дергаешь отдельно
Screamie
Значит решения лучше нет короче
Screamie
Всем спасибо за участие =)
Screamie
Я вообще подумываю, а не генерить ли тупо файл страницы .html при сохранении и потом его забирать на контроллере. И никакого динамического кода)))
Screamie
Хотя так вроде ModX делает
The Ant
это называется кеширование
The Ant
в yii можно в контроллере настроить чтоб страница кешировалась полностью
Screamie
но это не серебрянная пуля тоже
The Ant
нет конечно )
The Ant
но для относительно статичный галерей пойдет
Screamie
Например при динамической генерации URL-ов.
Dmitriy
Значит решения лучше нет короче
решений 4 на выбор. столбцы(lang_ru_desc), строки(lang, text), жсон, таблицы
Screamie
жсон никак, ибо хостер не обеспичит поддержку на мускуле. Оставлю тот вариант который есть. Поколдую с ключами и кэшем.
The Ant
кстати видел реализацию на таблицах. в код правда не сморел. но по ощущениями полный писец
Screamie
Надо бы все это погонять на бенчмарках. Посмотреть что к чему
Руслан
ребят, подскажите кто чем делает бекапы? mysqldump сейчас с sh скриптом который кидает все это дела на ЯД. есть варианты получше? percona мб?
👻
fsbackup
Andrey
Всем привет. Может кто подскажет нужный паттерн? Есить абстрактный базовый класс для доступа к API Планируется, что куча разрабов будет параллельно пилить реализации для этого класса Собственно хочется, чтобы все было просто, понятно и при создании нового класса разраб реализовал метод возвращающий ID ресурса, и метод который бы подготовил данные для отправки (массив). Далее, в основном приложении можно было бы удобно и с автокомплитом запиливать что-то такое $resource = $resourceManager->getResource(ResourceImplementation::className()); $resource->request(new GlobalData([...], $simpleParam1, $simpleParam2)); Но так ведь нельзя :( class Resource { abstract function request(); } class ResourceImplementation() { function request(SomeClass1 $arg1){ ... } } class ResourceImplementation() { function request(SomeClass1 $arg1, SomeClass2 $arg2){ ... } } Вторая идея сделать класс базовый класс аругмент и наследовать от него аргументы для других ресурсов. Но это похоже какой-то костыль, геморой и лишние сложности. Тертья - делать для каждого ресурса свои свойства, а потом собирать их через реализацию какого-нибудь метода типа configure(); Но опять же не будет какого-то явного указания свыше человеку который будет все это переопределять.
Stas
ребят, подскажите кто чем делает бекапы? mysqldump сейчас с sh скриптом который кидает все это дела на ЯД. есть варианты получше? percona мб?
руками на флешку и хранить возле сердца неделю потом по новой и так по кругу:) самое надежгное
👻
А потом бэкап не рабочий
👻
Или флешка сдохла или Яндекс заблочили
Dmitriy
Всем привет. Может кто подскажет нужный паттерн? Есить абстрактный базовый класс для доступа к API Планируется, что куча разрабов будет параллельно пилить реализации для этого класса Собственно хочется, чтобы все было просто, понятно и при создании нового класса разраб реализовал метод возвращающий ID ресурса, и метод который бы подготовил данные для отправки (массив). Далее, в основном приложении можно было бы удобно и с автокомплитом запиливать что-то такое $resource = $resourceManager->getResource(ResourceImplementation::className()); $resource->request(new GlobalData([...], $simpleParam1, $simpleParam2)); Но так ведь нельзя :( class Resource { abstract function request(); } class ResourceImplementation() { function request(SomeClass1 $arg1){ ... } } class ResourceImplementation() { function request(SomeClass1 $arg1, SomeClass2 $arg2){ ... } } Вторая идея сделать класс базовый класс аругмент и наследовать от него аргументы для других ресурсов. Но это похоже какой-то костыль, геморой и лишние сложности. Тертья - делать для каждого ресурса свои свойства, а потом собирать их через реализацию какого-нибудь метода типа configure(); Но опять же не будет какого-то явного указания свыше человеку который будет все это переопределять.
Resource - интерфейс я так понимаю стратегия у тебя ?
Andrey
Resource - интерфейс я так понимаю стратегия у тебя ?
А что в Resource интерфейсе должно быть? Че-т не получается придумать как тут применить стратегию и придумать нужный интерфейс Если делать реализацию класса параметров под каждый ресурс, то разрабу придется делать 2 класса под каждый ресурс. Система сложная и это только одна из ее частей. Хочется упростить все где это возожно. Но пока более простого выхода не вижу :(
Andrey
С точки зрения менеджера нужны базовые классы, и такая основа. Чтобы пришел чувак, которому нужно интегрировать свой кусок функционала и максимально быстро его написал.
Dmitriy
что за ф-л ? если есть 100500 провайдеров данных . типо получить курс валют. то стратегия идеально подходит
Anonymous
Всем привет. Может кто подскажет нужный паттерн? Есить абстрактный базовый класс для доступа к API Планируется, что куча разрабов будет параллельно пилить реализации для этого класса Собственно хочется, чтобы все было просто, понятно и при создании нового класса разраб реализовал метод возвращающий ID ресурса, и метод который бы подготовил данные для отправки (массив). Далее, в основном приложении можно было бы удобно и с автокомплитом запиливать что-то такое $resource = $resourceManager->getResource(ResourceImplementation::className()); $resource->request(new GlobalData([...], $simpleParam1, $simpleParam2)); Но так ведь нельзя :( class Resource { abstract function request(); } class ResourceImplementation() { function request(SomeClass1 $arg1){ ... } } class ResourceImplementation() { function request(SomeClass1 $arg1, SomeClass2 $arg2){ ... } } Вторая идея сделать класс базовый класс аругмент и наследовать от него аргументы для других ресурсов. Но это похоже какой-то костыль, геморой и лишние сложности. Тертья - делать для каждого ресурса свои свойства, а потом собирать их через реализацию какого-нибудь метода типа configure(); Но опять же не будет какого-то явного указания свыше человеку который будет все это переопределять.
может что-то типа CommandBus орагнизовать ; пилят комманду с набором параметров, пилят обработчик этой комманды (возможно наследующийсяот какого-то базового, и прописывают в локатор команда=>обработчик)
Andrey
Ну примерно как и стратегия получается. Всем спасибо )
Vasyl
Привет, почему ето не работает в yii2 $this->addError('title[en]', 'Ошибка только для поля с языком en'); Нужно добавить ошибку к элементу массива
Vasyl
Как решить проблему?
Anonymous
Ну примерно как и стратегия получается. Всем спасибо )
$this->addError() работает с аттрибутом модели, для массива не сработает
Andrey
Да
Anonymous
ой., не туда
Vasyl
жаль..(
Anonymous
Привет, почему ето не работает в yii2 $this->addError('title[en]', 'Ошибка только для поля с языком en'); Нужно добавить ошибку к элементу массива
сделайте отдельную форму наследуя от Model и там все параметры отдльно пропишите title_en, title_ru, с валидацией и ошибками, а потом в ар... или $this->addError('title', 'а тут описание с учетом языка', но само поле не подсветит
Сергей
Туплю( http://joxi.ru/L4AkgaFM9BZdAq Как прописать использование этого валидатора в правилах модели?
👻
вместо numeric пишеш свой валидатор
👻
['country','country']
👻
по идеи так
Сергей
Не.. это функцию так
Сергей
Всё просто)) надо написать класс ['country', CountryValidator::class]
Vasyl
Туплю( http://joxi.ru/L4AkgaFM9BZdAq Как прописать использование этого валидатора в правилах модели?
Нет, ето мне не поможет.. проблема в метoде addError. Я немогу прописать title[en]..
Vasyl
В атрибут..
Руслан
Придумал получше?
Неа, будем перкону пробовать
Niko
В атрибут..
Ты пиши у инпутов name title[], чтоб массив записывать Не совсем пойму твою проблему
Vasyl
Вже решил ету проблему. Спасибо всем.
Roman
вжух и нет проблемы
Vasyl
Проблема есть, но решил не лучшим способом.
Vasyl
Validation of the array attribute element is not suported.
Alexey
все есть че гонишь
Alexey
each валидатор :D
Vasyl
Ок, тогда выведи мне ошибку например 5 элемента в массиве.
Vasyl
addError('title[5]', 'Error')
Alexey
лехко
Alexey
$allModels[5]->addError('atata')
Alexey
ты либо делаешь табулярные формы, либо нет :D
Vasyl
Ето костиль..
Alexey
если ты используешь сериализатор какой-то, то для фреймворка твой массив внутри атрибута это 1 атрибут
Vasyl
addError('title[5]', 'Error') В yii1- ето работает В yii2 - нет.
Alexey
в yii2 работает
Alexey
вот же http://www.yiiframework.com/doc-2.0/guide-input-tabular-input.html
Vasyl
в yii2 работает
сорри, имел ввиду addError('title[5]', 'Error') В yii1- ето работает В yii2 - нет.
Alexey
а ну убери массив совсем
Alexey
тебе ж выше советовали сделать суффиксы языковые
The Ant
$allModels[5]->addError('atata')
$allModels[4]->addError('atata')