Аннотиции маршрута в контроллерах

StalkerClasses

Новичок
Как вы относитесь к тому, когда маршрутизацию описывают в контроллерах как аннотации?

PHP:
/**
 * @RoutePrefix("/example")
 * @Middleware("authMiddleware")
 */
class ExampleController
{
    /**
     * @Route("/hello", methods={"GET"}, name="example.hello")
     */
    public function hello(): ResponseInterface
    {
        ...
    }
}
 

AnrDaemon

Продвинутый новичок
Зачем тогда вообще язык программирования, если весь код - в комментариях?
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
ты сочувствия хочешь или поддержку для петиции против роутинга в комментах собираешь? )))
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума

fixxxer

К.О.
Партнер клуба
А что php-шное вообще сейчас еще развивается, кроме симфони? :)
То, что после где-то 5.3 происходит с ларавелом, я назвать развитием не могу при всем желании.
Не, ну вон yii3 пишут, но там еще сто раз все поменяют.
 

StalkerClasses

Новичок
В комментариях уже не надо, есть же нативные атрибуты. Симфони уже умеет.
1) Вопрос про нативные атрибуты - я с PHP8 еще не работал - а если наследование класса, то как это ведет себя?

скажем так, аттрибуты из предпочтений авторов симфони сделали это легитимным на уровне языка
(вроде, laravel тоже научился с плагином)
2) Просто понять что это не хуже чем в PHP-файл роутер описывать
 

StalkerClasses

Новичок
3) И еще вопрос про роутеры, вернее по аргументы в действии:

PHP:
// Какой из вариантов лучше и когда лучше что использовать?
class PostController extends Controller
{
    // Принудительно перечислять все аргументы
    // А если не перечислены то получать их
    public function actionView($id = 0, $tab = 0, $data = 0)
    {
        print $id;
        print $tab;
        print $data;
        print $moth = $this->getArt('moth');
    }
    
    // Или получать все аргумены которые нужны
    // Не передавать в функцию ничего?
    public function actionView()
    {
        print $id = $this->getArt('id');
        print $tab = $this->getArt('tab');
        print $data = $this->getArt('data');
        print $moth = $this->getArt('moth');
    }
}
 

fixxxer

К.О.
Партнер клуба
да какая вообще разница? кого волнует эта драная обвязка вокруг http, написанная уже миллион раз? это самый скучный код в мире, который пишется по образцу и вообще пофигу как. возьми из симфони компоненты да и все.
 

StalkerClasses

Новичок
да какая вообще разница? кого волнует эта драная обвязка вокруг http, написанная уже миллион раз? это самый скучный код в мире, который пишется по образцу и вообще пофигу как. возьми из симфони компоненты да и все.

1) Вопрос про нативные атрибуты - я с PHP8 еще не работал - а если наследование класса, то как это ведет себя?
 

fixxxer

К.О.
Партнер клуба
Не знаю, проверь.
Но если ты собрался наследовать. action-ы в контроллерах, этого делать не стоит.
 
Сверху