@yii2ru

Страница 124 из 1721
Konstantin
31.03.2017
08:42:16
ну тебе скажут что yii2 для мелких проектов лара для сердних и больших симфони для супер кастомных

Timur
31.03.2017
08:43:12
ну тебе скажут что yii2 для мелких проектов лара для сердних и больших симфони для супер кастомных
На всём можно крупное писать. На Symfony тоже можно мелочь делать (Silex).

Mr.
31.03.2017
08:43:39
это как-бы тоже самое, что и сказать "молоток гвозди забивать, кувалда - колышки, а киянка - людей" а отличия-то у них в чём?

Google
Mr.
31.03.2017
08:51:13
подскажи, есть какие-то ключевые отличия между фреймворками? насколько сложно будет переключиться с yii на symfony/lavarel?

Mr.
31.03.2017
08:52:22
ты с каким работаешь: symfony или lavarel?

я по каждому доку читал, в принципе, основные понятия есть

Zhandos
31.03.2017
08:52:38
что такое DI ?

Timur
31.03.2017
08:52:48
что такое DI ?
Dependency Injection

У Yii2 Service Locator простейший

У Symfony нормальный DI полноценный

Dmitriy
31.03.2017
08:53:13
у ларки был лучше DI. до недавнего времени. говорят что в симфони 3.3 он тоже крутой

Mr.
31.03.2017
08:55:38
меня интересует роутинг: насколько сильно он отличается от yii? в yii у нас есть urlRules, которые прописываются на уровне конфига приложения. В других фреймворках роуты создаются динамично? типа как в zend'е - <module>/<controller>/<action>, или их тоже где-то нужно объявлять? как насчёт кастомных роутов?

Alexander
31.03.2017
08:55:57
И судя по всему, формы в симфони там такие же, как и в зенде (если верить описанию выше)

Timur
31.03.2017
08:56:07
1. Аннотации в контроллере 2. Конфиги Два способа

Google
Dmitriy
31.03.2017
08:56:09
Огромная разница. Для меня роутинг в yii2 это огромная кака из прошлого века

Timur
31.03.2017
08:56:16
Всё надо явно прописывать.

В Symfony 2.*+.

http://symfony.com/doc/current/routing.html#routing-examples

@Route("/blog", name="blog_list")

Mr.
31.03.2017
08:58:15
ну, не так уж сильно оно и отличается нужно лишь привыкнуть к тому что urlRules обрабатываются не системой, а самому нужно делать, как я понял, в RouteCollection()

Dmitriy
31.03.2017
08:58:18
Там нет такого, что на каждый чих нужно писать свой роутинг, как в yii2

у ларке обычно роутеры в 1 файле. У симфони в антонациях держат

Mr.
31.03.2017
08:59:18
да и дока довольно прилично выглядит)

что за аннотации?

Dmitriy
31.03.2017
09:00:01
phpdoc

если грубо говорить

Mr.
31.03.2017
09:00:16
нормально

те, можно обойтись аннотациями к экшнам в контроллере, и не нужно пилить отдельный файлик с роутами?

а эти аннотации не конфликтуют с phpdoc'ом?

Dmitriy
31.03.2017
09:01:38
Ах да у симфони нет AR. Data mapper там

Alexander
31.03.2017
09:01:48
Mr.
31.03.2017
09:02:00
меня что отталкивало больше всего - это для меня непонятный роутинг (сейчас вроде как прояснился немного), и шаблонизатор на фронте

Google
Alexander
31.03.2017
09:02:12


Timur
31.03.2017
09:02:15
Вообще не в обиду фанатам Yii2, но Yii2 отстал на лет 6 точно. От Symfony и Laravel.

Mr.
31.03.2017
09:02:39
каждый инструмент создан для своей задачи

Timur
31.03.2017
09:03:11
Ну, можно и дальше его юзать. Codeigniter тоже до сих пор юзают, хотя он устаревшим был уже лет 7 тому назад.

Mr.
31.03.2017
09:03:14
ну и в умелых руках любой инструмент будет делать то, что ты захочешь

+ ты забываешь, с чем я имею дело сейчас



я думаю, yii намного лучше, чем это

Timur
31.03.2017
09:04:03
+ ты забываешь, с чем я имею дело сейчас
С чем? Я тоже на Yii2 разрабатываю проект сейчас. Но это прихоть клиента. Мне вообще всё равно на чём делать проект. Если бы дали мне выбрать, то взял бы Symfony.

А.

ZF 1.*.

Mr.
31.03.2017
09:04:11
ага)

Boris
31.03.2017
09:04:25
Ребят, подскажите, пожалуйста.

Никак не могу понять.

Есть строка в БД, в ней есть поле "group_profile" это FK

если делаю "->where(['group_profile' => 1])", то все ок

но мне надо что-бы я искал именно в значении FK

$query = Ap::find()->joinWith('groupProfile')->where(['group_profile.id' => 1]);

нифига не работает

Google
Mr.
31.03.2017
09:07:55
не совсем понятно что тебе и откуда нужно

есть две таблицы: a и b тебе нужно сделать select * from a left join b where b.id = '1'?

Boris
31.03.2017
09:08:42
да

Mr.
31.03.2017
09:09:51
Ap::find()->joinWith(['groupProfile gp'])->where(['gp.id' => 1]);

попробуй так

офф дока: Order::find()->joinWith(['books b'], true, 'INNER JOIN')->where(['b.category' => 'Science fiction'])->all();

Boris
31.03.2017
09:10:41
У меня уже есть такое-же по функционалу решение и оно работает, но делаю аналогичное и нифига)

т.е. в другой модели: $query = Ngpv::find()->joinWith('type0')->where(['type.slug' => $slug]); работает

а это нет: $query = Ap::find()->joinWith('groupProfile')->where(['group_profile.slug' => $slug]);

Admin
ERROR: S client not available

Mr.
31.03.2017
09:11:49
попробуй как я написал возможно всё дело в названии таблицы

Boris
31.03.2017
09:13:31
действительно, так работает

Mr.
31.03.2017
09:14:08
:) никогда не используй в join'ах названия таблиц обезопасишь себя минимум в таких ошибках

а теперь у меня вопрос

уважаемые знатоки

как привязать translator к форме в zend 1? :D

Boris
31.03.2017
09:15:24
:) никогда не используй в join'ах названия таблиц обезопасишь себя минимум в таких ошибках
не совсем пойму, к примеру в рабочем примере type0 это я так понимаю вызов этого метода: public function getType0() { return $this->hasOne(Type::class, ['id' => 'type']); }

В моем нерабочем, groupProfile вызов этого: public function getGroupProfile() { return $this->hasOne(Ngpv::class, ['id' => 'group_profile']); }

Верно я думаю?

Mr.
31.03.2017
09:17:27
не могу понять, что у вас там не так

Google
Mr.
31.03.2017
09:17:29
всё так

Boris
31.03.2017
09:19:23
Это не работает) $query = Ap::find()->joinWith('groupProfile')->where(['groupProfile.slug' => 'zavod']); Это работает: $query = Ap::find()->joinWith('groupProfile gp')->where(['gp.slug' => 'zavod']);

Любопытно почему

Mr.
31.03.2017
09:21:34
я тут писал длинный текст, объясняющий работу связей в yii2, но решил сделать проще

Konstantin
31.03.2017
09:21:48
ну дык ты посмотри что он там генерит на уровне sql запроса))

Mr.
31.03.2017
09:22:04
Ap::find()->joinWith('groupProfile')->where(['groupProfile.slug' => 'zavod']); ты на 100% уверен что у тебя в joinWith('groupProfile') будет таблица groupProfile?

я-бы не был так уверен, даже если в Ngpv написано такое название таблицы

yii может где-то что-то обозвать каким-то алиасом

а так - ты указываешь, что для таблицы, которая используется в связи groupProfile нужно использовать алиас gp

и используешь его в where вместо названия таблицы, так как алиас - это, грубо говоря, ссылка на таблицу

SiZE
31.03.2017
09:27:02
если кому интересно: zend предлагает формы использовать сразу для вывода и обработки данных то есть, ты создаёшь форму не как в yii, как модель с данными, а описываешь сразу какой элемент будет какого вида (например, Zend_Form_Element_Text или Zend_Form_Element_Select), прописываешь фильтры\валидаторы, а в конце концов делаешь вывод формы как строки (те echo $form) во вьюхе получается не очень окей, ибо стилизацию вывода тоже прописываешь в форме как "декораторы" я использовал стандартную логику форм только в плане создания модели данных, допилил, чтобы можно было использовать на одной странице больше одной формы (проще говоря - formName[fieldName] - кто знает, тот поймёт), ну и хелпер для вывода отдельного элемента формы - типа как в yii $form->field(), только в zend'е у меня это $this->formField()) костыльно, да, но всё же удобней, чем по умолчанию предлагает zend
Вы не верно поняли формы в Й. Форма там не модель с данными.

Есть ActiveForm который может использовать модель с данным

И есть объект поля.

Mr.
31.03.2017
09:28:17
Да, я знаю

Я имел ввиду под формой прослойку между AR и выводом пользователю

SiZE
31.03.2017
09:29:52
В зенде был билдер форм на сколько я помню, который можно было использовать с моделью

Mr.
31.03.2017
09:31:27
Может во втором Найти для первого зенда что то, во что можно было бы положить логику работы с AR мне не удалось

SiZE
31.03.2017
09:32:03
В первом

Я с ним лет 5 назад работал, сейчас не вспомню уже что к чему было

Mr.
31.03.2017
09:32:49
По секрету скажу так, что в одном нашем проекте, которым пользуется самый крупный украинский интернет магазин зендовые формы используются только для валидации данных Обработка данных и их сохранение происходит в экшнах

Но я его не писал)

Alejandro
31.03.2017
10:29:48
Парни, существует ли способ отловить вызываемую функцию, чтобы переопределить, типа как для классов отлов метода __ call($fmethod)

Страница 124 из 1721