Pull to refresh
4
0
Александр @BoShurik

Symfony-разрботчик

Send message
Мне кажется или мы про Яблоки vs. Апельсины? :)

Весьма вероятно :)


Ваша универсальность тоже имеет свои границы.
Во-первых, не понятно как быть если процесс отвалился с ошибкой? Во-вторых, придется как-то парсить stdout, т.к. он все-таки предназначен для чтения пользователем, а не машиной.

Надо сказать, что минусы применимы и к вашему методу :)


  • Дополнительная теория (реализация очень близка к моей)
  • Надо знать как пользоваться React\ChildProcess\Process
в данном конкретном случае не нужна, поскольку конструктор стандартного класса все без исключения Throwable заворачивает в Exceptions: https://github.com/RunnMe/Core/blob/master/src/Core/Std.php#L53

Т.е. конкретные ошибки валидации мы поймать не можем, нам всегда надо ловить Exceptions и работать уже с ним? А наследуются они от Exception, чтобы просто была возможность их выбросить при обработке Exceptions?

Судя по коду, правильнее так


try {
// ...
} catch (Exceptions $errors) {
  foreach ($errors as $error) {
    echo $error->getMessage();
  }
} catch (Exception $error) {
   echo $error->getMessage();
}

Т.к. Exceptions не наследуется от Exception


И все-таки не понятно, зачем ошибки валидации делать исключениями, вы ведь их не выбрасываете (только во втором случае). В итоге возникает желание их поймать, а не получится.

Что ж, простите за потраченное время (что аж значок "Отхабренный" заработал)

Но вы же писали, что большинство так писало

Речь шла о "значимых" проектах, чьи участники принимали участие в формировании стандарта.


я нигде не утверждал, что нужно было спрашивать большинство. Я только озвучил факт, что всенародного голосования не было, и стиль брали из самых известных проектов, что на тот момент давало FIG политические очки.

И что тогда вы хотели этим сказать? :)

Ну тут я солидарен с Mendel, не всех нужно спрашивать. К примеру, мало интересует стили кода у тех, кто пишет на Bitrix или WordPress, т.к. они эти стандарты не поддерживают, и сомневаюсь, что будут когда-то.

http://www.php-fig.org/psr/psr-2/#overview


Opening braces for classes MUST go on the next line, and closing braces MUST go on the next line after the body.
Opening braces for methods MUST go on the next line, and closing braces MUST go on the next line after the body.

На лицо дублирование, но почему-то никто не объединил эти два пункта ;)
Один пункт — одно утверждение

Это описание стандарта. Важно чтобы при его прочтении не возникло недопонимания, поэтому текст бы никуда не делся, а просто заменили бы фразы "на следующей строке" \ "на этой же строке" на противоположные и все :)

Вот кстати статистика за 2013-2014 года. Думаю она актуальная в контексте нашей дискуссии. За это время PSR-2 не успел сильно распространиться


http://sideeffect.kr/popularconvention#php

Будет выглядеть некрасиво из-за контекста, в котором они обычно используются, но всё равно люди будут подтягиваться к стандарту.

Вы путаете с единообразием


PSR-12 не упрощает вещи, хотя мог бы.

Сделать стандартным правило расстановки скобок ≠ упростить. Текущая реализация вполне логична и делает проще чтение и изменение кода.


Логические конструкции и анонимные функции — на одной строке, чтобы код не разрастался по вертикали и его было удобнее читать.
Функции и классы — на новой строке, чтобы их описание не сливалось с кодом, что, опять же, упрощает чтение.
В случае с классами на одной строке с названием могут быть extends и implements, которые удобнее добавлять в конце строке, а не кликать перед символом фигурной скобки.


И все-таки это ну никак не "архитектурная" проблема и, судя по приведенным вами примерам — единственная. Поэтому утверждение, что "через какое-то время PSR начинает тормозить всё, а не помогать строить светлое будущее" немного преувеличено :)

Не всенародное, но голосование было (не путать с голосовавшими за стандарт):
http://www.php-fig.org/psr/psr-2/#appendix-a-survey
https://docs.google.com/spreadsheets/d/1b-wBdRi4j9bQWLi91r8hUMUoydQFA1LSmBbez1L4dVM/edit#gid=0

Большинство изначально использовало такой стиль, именно поэтому такой стиль используется в стандарте, а не наоборот.
Ну и вряд ли coding style можно назвать чем-то, что мешает "строить светлое будущее" :)

Вот ради любопытства попробовал тоже самое сделать на Symfony. И мне что-то кажется, что там проще :)
https://github.com/BoShurik/symfony-simple/commit/43067c7d78618aa8a85af2214b1bad272354d2d4

А в официальной инструкции есть пункт про деплой? Я что-то не нашел.
Какая версия php? На седьмой версии использование памяти сильно меньше, должно сработать

Похоже, что автор делал composer update вместо composer install

Скажите это PSR
https://github.com/php-fig/log/blob/master/Psr/Log/InvalidArgumentException.php


Очень удобно ловить исключения, относящиеся к конкретному модулю/библиотеке/etc, а не все подряд

Собственно, вы пришли к варианту, описанному в посте

Information

Rating
Does not participate
Location
Владимир, Владимирская обл., Россия
Date of birth
Registered
Activity