yii2-console-runner

Выкладываем свои наработки
Ответить
Vasiliy Baukin
Сообщения: 87
Зарегистрирован: 2011.02.04, 12:47

yii2-console-runner

Сообщение Vasiliy Baukin » 2015.09.05, 16:38

Коллеги, какое-то время назад релизнул console runner:
https://github.com/tebazil/yii2-console-runner

Потенциальная польза: возможность запускать консольные команды в веб контроллерах, без разрешенного shell_exec() на хостинге.

zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: yii2-console-runner

Сообщение zelenin » 2015.09.05, 19:40

https://github.com/tebazil/yii2-console ... ner.php#L7
зачем везде _?

https://github.com/tebazil/yii2-console ... er.php#L12
зачем false, если null?

https://github.com/tebazil/yii2-console ... er.php#L12
если не string, то что?

https://github.com/tebazil/yii2-console ... er.php#L18
очевидно, что getAlias надо юзать

и вообще какая-то неаккуратность во всем коде.

lynicidn
Сообщения: 2221
Зарегистрирован: 2014.05.24, 15:12

Re: yii2-console-runner

Сообщение lynicidn » 2015.09.05, 22:25

zelenin писал(а):https://github.com/tebazil/yii2-console ... ner.php#L7
зачем везде _?

https://github.com/tebazil/yii2-console ... er.php#L12
зачем false, если null?

https://github.com/tebazil/yii2-console ... er.php#L12
если не string, то что?

https://github.com/tebazil/yii2-console ... er.php#L18
очевидно, что getAlias надо юзать

и вообще какая-то неаккуратность во всем коде.
зачем вообще это? есть php-cli есть его окружение которое должно это обрабатывать, а это вселишнии дыры, на шаред хостинге дать доступ к консоле - ТЫ САМ НА ШАРЕДЕ ЕГО НЕ ИМЕЕШЬ

lynicidn
Сообщения: 2221
Зарегистрирован: 2014.05.24, 15:12

Re: yii2-console-runner

Сообщение lynicidn » 2015.09.05, 22:25

пусть пладятся, больше взломов, больше народу уйдет в непригодность

Vasiliy Baukin
Сообщения: 87
Зарегистрирован: 2011.02.04, 12:47

Re: yii2-console-runner

Сообщение Vasiliy Baukin » 2015.09.06, 12:52

zelenin писал(а):https://github.com/tebazil/yii2-console ... ner.php#L7
зачем везде _?
Привычка. Вы думаете, пора уже перестать ставить _?
zelenin писал(а):https://github.com/tebazil/yii2-console ... er.php#L12
зачем false, если null?
Исправлено.
zelenin писал(а):https://github.com/tebazil/yii2-console ... er.php#L12
если не string, то что?
Исправлено.
zelenin писал(а):https://github.com/tebazil/yii2-console ... er.php#L18
очевидно, что getAlias надо юзать
Исправлено.

Vasiliy Baukin
Сообщения: 87
Зарегистрирован: 2011.02.04, 12:47

Re: yii2-console-runner

Сообщение Vasiliy Baukin » 2015.09.06, 12:54

lynicidn писал(а): зачем вообще это? есть php-cli есть его окружение которое должно это обрабатывать, а это вселишнии дыры, на шаред хостинге дать доступ к консоле - ТЫ САМ НА ШАРЕДЕ ЕГО НЕ ИМЕЕШЬ
Чтобы на шареде, например, применить новые миграции после копирования свежей версии проекта.

zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: yii2-console-runner

Сообщение zelenin » 2015.09.06, 13:00

Vasiliy Baukin писал(а): Привычка. Вы думаете, пора уже перестать ставить _?
почитайте psr-1/psr-2/psr-4 и пишите по ним.

zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: yii2-console-runner

Сообщение zelenin » 2015.09.06, 13:06

https://github.com/tebazil/yii2-console ... er.php#L14
юзайте строгое сравнение с null

https://github.com/tebazil/yii2-console ... er.php#L19
тут опять проверка на empty, хотя она была раньше

https://github.com/tebazil/yii2-console ... er.php#L22
пишите {} для выделения блоков (см. выше про psr)

https://github.com/tebazil/yii2-console ... er.php#L15
берите на себя меньше ответственности - пусть разработчик передает конфиг явно (плюс сделайте из всего этого компонент с возможностью сконфигурить конфиг из настроек - это несложно). Плюс из этого: меньше будет лапши, занявшей половину конструктора (я там вижу логические ошибки https://github.com/tebazil/yii2-console ... er.php#L26) - сразу проверьте наличие конфига и поехали.

Vasiliy Baukin
Сообщения: 87
Зарегистрирован: 2011.02.04, 12:47

Re: yii2-console-runner

Сообщение Vasiliy Baukin » 2015.09.06, 13:37

Исправил, кроме последнего.

Мне нравится мысль явно принять конфиг. В этом случае я избавляюсь от несвойственной для расширения логики.
Вместе с тем, мне непонятно, для чего нужно делать компонент... Что это даст в данном случае? Конфиг - это один параметр. Тут, пожалуй, проще перекрыть конструктор.

zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: yii2-console-runner

Сообщение zelenin » 2015.09.06, 13:45

Vasiliy Baukin писал(а):Мне нравится мысль явно принять конфиг.
не конфиг, а file path я имел в виду
Vasiliy Baukin писал(а):Вместе с тем, мне непонятно, для чего нужно делать компонент... Что это даст в данном случае? Конфиг - это один параметр. Тут, пожалуй, проще перекрыть конструктор.
это логично, т.к. вы делаете сервис, запускающий консольные команды - Yii::$app->consoleRunner->run(...)
соответственно разрабу не придется везде передавать конфиг консоли - достаточно сконфигурировтаь компонент в конфиге.

Ответить