Pull to refresh
0
0

Веб-разработчик

Send message

Венгерская нотация сама по себе раскритикована уже давным давно. А тут она еще вместе с адово неоднородным стилем именования — имена таблиц snake_case а столбцов после префикса col_ то lowerCamelCase то UpperCamelCase то внезапно просто слово что в итоге дает snake_case. Это же ппц какой то.
Но даже будь оно всё однородно в snake_case. Наличие префиксов что нам дают? Приведите мне пример когда я не могу однозначно трактовать идентификатор чего передо мной?

Я не очень понял посыл статьи если честно, уж простите. Но вот я код посмотрел. Что сразу бросается в глаза так это бардак в именовании. Причешите. Это же делается не так долго. В идеале конечно же PSR. Паблик директория в проекте на php это просто необходимость. Вон только сегодня статья была про .git. Ну и т. д. Там много можно говорить. Не хочется хейтить и ругать просто так. Вам много еще нужно учиться это понятно. Но не написать, что ваш "роутер" сделал мне больно не могу)

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

А ведь всё было бы так хорошо имей эти сайты в проекте просто отдельную паблик директорию, в которую бы уже и смотрел веб сервер. И эта проблема бы ушла и десяток других по сокрытию приватных файликов проекта.

А… да по поводу непонимания мой косяк. Извиняюсь был невнимателен. День тяжелый.


Но всё же.


используя подход с рефлексией, мы получаем автоматизацию генерации списка доступных значений

Да, собственно я с этого начал. И да, вы правы ограничения есть, однако это не это не равно утверждению "с рефлексией этого сделать нельзя".

Чёт я запутался… вы пишете:


… случае использования подхода с рефлексией этого сделать нельзя.

я с этим не согласился и потом вы мне приводите именно пример что можно! Что то пошло не так?


в случая же 2 вы как то сразу схитрили. Зачем метод делать final public static? Да именно такие, и только такие, методы воспринимаются как значения. Ну ограничение той реализации. Точно так же как в myclabs/php-enum константы. Что особо не влияет на саму возможность делать


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

это я не понял вообще


Также можно добавить методы необходимые для бизнес логики и человеческое описание для вариантов значения для вывода на frontend. В случае использования подхода с рефлексией этого сделать нельзя.

Это почему нельзя? что мне помешает?


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


Я вот пользуюсь реализацией myclabs/php-enum и там указываются константы.

все реализации ENUM в PHP через рефлексию. Так как у вас обычно классы ENUM условно маленькие а результат операции разумно кешируется во внутреннем поле, то накладные расходы весьма малы

А можно попросить накинуть инфы об этом? В гугле не забанили, но мб у вас под рукой есть инфа.

Да пожалуйста. Но вы похоже так и не уловили сути притензии. Статья 'я поставил фреймворк' не уровень хабра.

Ну как минимум поменять анонимки для промисов на конкретные вспомогательные методы или функции.


Вынести шаблоны ответов так же во вспомогательные функции, ну и вообще разбить код методов.


Код вида:


if (condition) {
    //...
    //много логики
    //...
} else {
   // какая-то команда выхода например return;
}

сменить на


if (! condition) {
  //команда выхода
}

//дальше логика

Ну и т.п.

Нет, это вина ни разу не асинхронности и промисов, а только вашего плохого стиля кода.

Т.е. вы считаете что это реальное решение реального юзкейса?
Или этот быстрый старт для кого? Для codemonkey? На хабре?

Объясните смысл этой статьи? Она решает какую то конкретную проблему? Она что то раскрывает более глубоко?


Люди для которых нужны вот такие cтроки:


Под строчкой
use yii\helpers\Html;


в самом верху страницы, добавляете:
use yii\helpers\Url;

должны идти учить сам язык а потом уже идти знакомиться с фреймворком.

Ну начнем с того что ваш код не читаемый абсолютно. Понять алгоритм в такой адовой вложенности легко только тому кто это пишет.

Т. е. вы "практически ничего не использовал кроме AR" и при этом уверены что где то там солнце ярче?

"Имя Ибрагим ведущий слеш вам о чём-нибудь говорит?")

в yii то понятно это так сложилось, это их стиль и всё такое, но все пакеты нынче используют UpperCamelCase. Так зачем следовать за таким редким стандартом. Да и смотрится потом при использовании сторонних пакетов это стремно.

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity