Pull to refresh

Comments 11

Тут прокатился клубочек, как по пустыне…
Вот я глупый наверное, но никогда не понимал чем инициализация/конфигурация объектов через массивчики(как в Yii) лучше нативной инициализации объектов через new SomeClass($arg1, new AnotherClass($arg2, $arg3)). Это же блин офигеть как неудобно — за названием каждого параметра нужно либо в документацию, либо в код класса подсматривать :( IDE обделённо хнычит в сторонке…
Такая конфигурация применяется для отложенной инициализации. Если неизвестно, будет ли вообще создан объект в этот раз или нет.
С тем же успехом можно завернуть нативную инициализации объекта в callback типа function() { return new SomeClass($arg1, new AnotherClass($arg2, $arg3)); };
Когда разрабатывали текущую версию Yii, анонимных функций в PHP еще не было. Кроме того использование массива дает возможность сделать указание параметров опциональным и независимым к порядку их указания.
Да, не могу не согласиться. Очень часто приходится искать название нужного параметра, а они еще и регистро-чувствительные.
А в пользу того, почему именно так, могу сказать, что пусть framework решает(в абсолютном большинстве случаев), как и когда создавать объект. Да и смотрится инициализация так легче, без вложенных new Classname(...), хотя может это я уже привык.
… промахнулся веткой > liaren
Всё что инициализируется через массивы должно сгореть в аду.
Yii я не упрекаю. В своё время он был черезвычайно хорош. Даже сеёчас это один из лучших фреймворков, но увы он устарел.

Меня пугает лишь одно, что Yii 2 будет на PHP 5.3+, а это значит «привет» array() вместо []
Да ладно вам. Ставьте 5.4 и используйте себе [].
Вы так говорите, как будто все фреймверки должны моментально пересесть на использование сокращенного синтаксиса для массивов на следующий же день после анонса 5.4 и забить на обратную совместимость?

Искренне не понимаю: чем Yii 1.X устарел? Поделитесь: действительно интересно.
Моментально? Простите, но прошло больше года.

Да и использовать 5.4 потому что [] вместо array() прохладная история. :)
Делал подобную вещь очень просто. При помощи генератора CRUD создавал нужную таблицу. Вместо кнопок редактирования делал свою, и вешал на нее onClick. Нажатием "..." возле поля ввода значения открывалось окошко с требуемой таблицей. Все.
Sign up to leave a comment.

Articles