yii2-console-runner

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

yii2-console-runner

Сообщение Vasiliy Baukin »

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

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

Re: yii2-console-runner

Сообщение 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 надо юзать

и вообще какая-то неаккуратность во всем коде.
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: yii2-console-runner

Сообщение lynicidn »

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
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: yii2-console-runner

Сообщение lynicidn »

пусть пладятся, больше взломов, больше народу уйдет в непригодность
Vasiliy Baukin
Сообщения: 102
Зарегистрирован: 2011.02.04, 12:47

Re: yii2-console-runner

Сообщение Vasiliy Baukin »

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
Сообщения: 102
Зарегистрирован: 2011.02.04, 12:47

Re: yii2-console-runner

Сообщение Vasiliy Baukin »

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

Re: yii2-console-runner

Сообщение zelenin »

Vasiliy Baukin писал(а): Привычка. Вы думаете, пора уже перестать ставить _?
почитайте psr-1/psr-2/psr-4 и пишите по ним.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: yii2-console-runner

Сообщение zelenin »

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
Сообщения: 102
Зарегистрирован: 2011.02.04, 12:47

Re: yii2-console-runner

Сообщение Vasiliy Baukin »

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

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

Re: yii2-console-runner

Сообщение zelenin »

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