Возможно ли в PhpStorme подсветить аргументы конструктора первого аргумента атрибута?

Ссылка скопирована
1 ответ

Суть в следующем: у меня есть Атрибут

#[Attribute(Attribute::TARGET_PROPERTY)] class Cast {     /**      * @template T of CasterInterface      * @param class-string<T> $caster      */     public function __construct(         private readonly string $caster,         private readonly array $args = []     ){     }      public function __invoke(mixed $prop): mixed     {         return (new $this->caster(...$this->args))->cast($prop);     } }

#[Attribute(Attribute::TARGET_PROPERTY)] class Cast { /** * @template T of CasterInterface * @param class-string<T> $caster */ public function __construct( private readonly string $caster, private readonly array $args = [] ){ } public function __invoke(mixed $prop): mixed { return (new $this->caster(...$this->args))->cast($prop); } }

Есть класс

class JsonCaster implements CasterInterface {     public function __construct(         private readonly bool $associative = false,         private readonly int $depth = 512,         private readonly int $flags = 0     ) {     }      public function cast(mixed $castable): array     {         return json_decode($castable, $this->associative, $this->depth, $this->flags);     } }

class JsonCaster implements CasterInterface { public function __construct( private readonly bool $associative = false, private readonly int $depth = 512, private readonly int $flags = 0 ) { } public function cast(mixed $castable): array { return json_decode($castable, $this->associative, $this->depth, $this->flags); } }

И есть дтошка, куда вешаю атрибут

class CreatePostDto {     #[Cast(caster: CastJsonCaster::class,  args: [true])]     public readonly array $content; }

class CreatePostDto { #[Cast(caster: CastJsonCaster::class, args: [true])] public readonly array $content; }

Возможно ли сделать так, что бы для атрибута Cast вместо аргумента args подсвечивались аргументы конструктора JsonCaster

Дополнительно:

Ответы:

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

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Никита Орлов Ответ

Да, в PhpStorm есть возможность подсветить аргументы конструктора первого аргумента атрибута. Для этого необходимо использовать функцию "Parameter Info". Эта функция позволяет быстро просматривать аргументы методов и конструкторов, что делает процесс написания кода более удобным и эффективным.

Чтобы воспользоваться этой функцией, необходимо установить курсор на вызов конструктора или метода и нажать комбинацию клавиш "Ctrl + P" (для Windows/Linux) или "Cmd + P" (для macOS). После этого появится всплывающее окно с информацией о доступных аргументах, их типах и порядке. Таким образом, вы сможете быстро и легко просмотреть необходимую информацию о конструкторе или методе.

Кроме того, PhpStorm также предлагает другие полезные функции для работы с кодом, такие как автодополнение, быстрые фиксы, инспекции кода и многое другое. Все эти возможности помогают ускорить процесс разработки и улучшить качество кода.

Таким образом, ответ на ваш вопрос - да, в PhpStorm возможно подсветить аргументы конструктора первого аргумента атрибута с помощью функции "Parameter Info". Надеюсь, данная информация была полезной для вас!

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно