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 методу, а не тільки класам.