Псевдоніми класів

Summary

Classname Info
Namespace Ufo\RpcObject\RPC
Target class
Arguments:
$alias type string
optional true
default null
$concat type string
optional true
default '.'

Псевдоніми класів

Інколи може знадобитися задати альтернативну назву для API метода, наприклад якщо у вас занадто довга назва класу, що обумовлена якимись стандатрами або домовленностями до іменувань класів в вашому проєкті.

В такому разі ви можете додати до вашого класу атрибут#[RPC\Info] вказавши псевдонім для класу, це дасть вказівку RPC серверу сприймати цей псевдонім асоційовано до цього класу.

1
2
3
4
5
6
7
8
9
10

')] class MySpecificApiUserServiceWithLongClassName implements IRpcService { public function getList(): void {} } Приклад коду вище призведе до того, що в API буде доступний метод users>getList. # Застереження ЗАУВАЖТЕ, що ніякої додаткової валідації щодо використаних псевдонімів або символів конкатенації не існує, тож ваші дії можуть призвести до підміни псевдонімом іншого існуючого класу. Наприклад в вашому додатку вже є клас Foo з методом bar, який доданий в API як метод Foo.bar, ви створюєте клас Baz з методом bar і задаєте йому псевдонім Foo, що призведе до реєстрації двох API сервісів з однаковою назвою. Результат цих дій непередбачуваний. Використовуючи цей механізм, ви дієте на свій страх і ризик! # В майбутньому В подальших планах реалізувати можливість задавати псевдоніми кожному конкретному API методу, а не тільки класам.