Что означает этот код на php?, Крол, 12-Окт-20, 17:59 [смотреть все]Товарищи, объясните пожалуйста что делает этот код: ======================================================= Class XXX { public static function create( ?ResponseFactoryInterface $responseFactory = null, ?ContainerInterface $container = null, ?CallableResolverInterface $callableResolver = null, ?RouteCollectorInterface $routeCollector = null, ?RouteResolverInterface $routeResolver = null, ?MiddlewareDispatcherInterface $middlewareDispatcher = null ): App { static::$responseFactory = $responseFactory ?? static::$responseFactory; return new App( self::determineResponseFactory(), $container ?? static::$container, $callableResolver ?? static::$callableResolver, $routeCollector ?? static::$routeCollector, $routeResolver ?? static::$routeResolver, $middlewareDispatcher ?? static::$middlewareDispatcher ); } }XXX::create();
|
- Что означает этот код на php?, Аноним, 18:31 , 12-Окт-20 (1)
Означает, что программист задрачивал паттерны.
- Что означает этот код на php?, Аноним, 20:02 , 12-Окт-20 (2)
> Означает, что программист задрачивал паттерны.Ну это и ежу наверное понятно. А что за вопросы такие ??
- Что означает этот код на php?, Аноним, 22:25 , 12-Окт-20 (3)
какие из вопросов вызывают вопросы? Те которые одинарные для передачи null после указания типа или те, которые двойные, для проверки на null и подстановки значения?
- Что означает этот код на php?, Крол, 08:19 , 13-Окт-20 (4)
> какие из вопросов вызывают вопросы? Те которые одинарные для передачи null после > указания типа или те, которые двойные, для проверки на null и > подстановки значения?Нет, про знаки вопроса всё понятно. Вот сама конструкция public static function create(АРГУМЕНТЫ): App { static::$responseFactory = $responseFactory ?? static::$responseFactory; return new App( self::determineResponseFactory(), $container ?? static::$container, $callableResolver ?? static::$callableResolver, $routeCollector ?? static::$routeCollector, $routeResolver ?? static::$routeResolver, $middlewareDispatcher ?? static::$middlewareDispatcher ); } Вот это что такое. Т.е. есть метод create() и после него описана какая-то шняга после двоеточия. Как структура App - что это значит? И ещё в этой структуре описаны поля сразу и из этой структуры есть return который возвращает сам экземпляр этой структуры App и в аргументах для структуры App в структуре для метода create - как один из аргументов - self::determineResponseFactory(), Что это всё значит?
- Что означает этот код на php?, Аноним, 10:11 , 13-Окт-20 (5) +1
не, я чет туго соображаю и смысл вопроса от меня ускользает.После двоеточия идет указание типа возвращаемого из функции объекта "App" и дальше тело метода. Что значит App как структура я без понятия, т.к. этот класс здесь не приведен и можно предполагать только по названию. Там нет описания полей, там есть инициализация объекта App в конструктор которого передаются либо аргументы функции create, либо значения по умолчанию если переданные аргументы равны null
- Что означает этот код на php?, Крол, 16:33 , 13-Окт-20 (6)
> не, я чет туго соображаю и смысл вопроса от меня ускользает. > После двоеточия идет указание типа возвращаемого из функции объекта "App" и дальше > тело метода. Что значит App как структура я без понятия, т.к. > этот класс здесь не приведен и можно предполагать только по названию. > Там нет описания полей, там есть инициализация объекта App в конструктор которого > передаются либо аргументы функции create, либо значения по умолчанию если переданные > аргументы равны null Всё понял. Т.е. это значит, что результат выполнения метода create - должен быть объект класса App. И дальше в теле метода как раз сразу и возвращаем экземляр этого класса. Бухой вчера был. А вообще так писать - это нормальная практика? Я про себя просто думаю, код на php я пишу так сказать наедине с собой, не в команде. Вроде код у меня и документированый, и написан вполне себе грамотно и с ООП в разумных пределах. И именование переменных и файлов с классами/функциями, но вот в моём коде всё как-то понятно сразу что делается. А тут хер проссышь, что происходит. Я правильно понимаю, что без понимания такого кода на лету, думать о вступлении в какую-то команду разработки - бессмысленно?
- Что означает этот код на php?, Аноним, 17:24 , 13-Окт-20 (7) +1
> А вообще так писать - это нормальная практика?не знаю, я программист ненастоящий и с пхп вообще не работаю. Но по личным предпочтениям я за указание типов > без понимания такого кода на лету, думать о вступлении в какую-то команду разработки - бессмысленно? у нас код на скриптовых языках и есть как минимум 2 проблемы: 1. код написан так (особенно старый, с новым особо не доводилось работать), что понимание подобных конструкций тебе мало поможет 2. некоторые товарищи так стремятся использовать синтаксический сахар и особенности синтаксиса, что на выходе получается код со случайным выполнением некоторых функций
- Что означает этот код на php?, Аноним, 12:09 , 14-Окт-20 (8)
>А тут хер проссышь, что происходит.Именно. > Я правильно понимаю, что без понимания такого кода на лету, думать о > вступлении в какую-то команду разработки - бессмысленно? Понимать из этого кода нужно только пару-тройку вещей. Где искать описание маршрутов, мидлваре и контроллеры. Но для этого проще будет открыть папочку с кодом и поискать директории с похожими названиями. Это типичный write-only, который один раз пишется и потом в него никто не лезет. Этот код практически ничего не делает - чего в него лезть? Реальный код в другом месте и там уже старые добрые толстые контроллеры, внутри которых копипастные велосипеды. Но в точке входа у нас А - Архитектура, использование новейших возможностей языка. Значит код не говнокод, сениор не макака, а Программист, так-то. В реальности всегда так получается, что традиционный гк с лапшой из ифов и глобальными переменными рефакторится быстрее, чем гк, написанный с паттернами (ооп-обфускацией логики программы). А так как любой код становится гк при достаточно длительном сопровождении, надо сразу писать понятно.
- Что означает этот код на php?, Аноним, 20:32 , 14-Окт-20 (9)
> Это типичный write-only, который один раз пишется и потом в него никто Та сфига ли, типичнейший фактори в кложуре . Вот вопросы эти что означали было не понятно, спасибо что объяснили выше что это новомодное исключение ,уже в коллекции синтаксисов будет четвертым или даже пятым вариантом от "новомодников".
|