#[RPC\Info]
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 серверу сприймати цей псевдонім асоційовано до цього класу.
2
3
4
5
6
7
8
9
10
namespace App\Api\Procedures;
use Ufo\RpcObject\RPC;
#[RPC\Info(alias: 'users')]
class MySpecificApiUserServiceWithLongClassName implements IRpcService
{
public function getList(): void {}
}
В такому випадку буде доступний API метод users.getList.
Символ конкатенації
Атрибут Info також приймає другий аргумент concat, який вказує символ або символи, що поєднують назву класу і назву методу при генерації ServiceMap для RPC серверу.
Значення за замовченням "." (крапка), але ви можете це легко змінити, вказавши потрібний вам символ або символи.
2
3
4
5
6
7
8
9
10
namespace App\Api\Procedures;
use Ufo\RpcObject\RPC;
#[RPC\Info(alias: 'users', concat: '>')]
class MySpecificApiUserServiceWithLongClassName implements IRpcService
{
public function getList(): void {}
}
Приклад коду вище призведе до того, що в API буде доступний метод users>getList.
Застереження
В майбутньому
В подальших планах реалізувати можливість задавати псевдоніми кожному конкретному API методу, а не тільки класам.