Возможно ли в PhpStorme подсветить аргументы конструктора первого аргумента атрибута?
Суть в следующем: у меня есть Атрибут
#[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
Дополнительно:
Ответы:
При таких требованиях- сейчас нереализуемо.
Разве что написать отдельный атрибут с требуемым перечнем аргументов в конструкторе.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Да, в PhpStorm есть возможность подсветить аргументы конструктора первого аргумента атрибута. Для этого необходимо использовать функцию "Parameter Info". Эта функция позволяет быстро просматривать аргументы методов и конструкторов, что делает процесс написания кода более удобным и эффективным.
Чтобы воспользоваться этой функцией, необходимо установить курсор на вызов конструктора или метода и нажать комбинацию клавиш "Ctrl + P" (для Windows/Linux) или "Cmd + P" (для macOS). После этого появится всплывающее окно с информацией о доступных аргументах, их типах и порядке. Таким образом, вы сможете быстро и легко просмотреть необходимую информацию о конструкторе или методе.
Кроме того, PhpStorm также предлагает другие полезные функции для работы с кодом, такие как автодополнение, быстрые фиксы, инспекции кода и многое другое. Все эти возможности помогают ускорить процесс разработки и улучшить качество кода.
Таким образом, ответ на ваш вопрос - да, в PhpStorm возможно подсветить аргументы конструктора первого аргумента атрибута с помощью функции "Parameter Info". Надеюсь, данная информация была полезной для вас!