Вікі-код для #[RPC\Info]

Версія 1.4 додана 2024/05/10 11:54 автором Ashterix

Показати останніх авторів
1 {{box cssClass="floatinginfobox" width="400px"}}
2 == (% style="text-align:center" %)Summary(%%) ==
3
4 (% style="margin-right:auto" %)
5 |(% style="width:141px" %)**Classname**|(% colspan="2" rowspan="1" style="width:79px" %)Info
6 |(% style="width:141px" %)**Namespace**|(% colspan="2" style="width:79px" %)(((
7 Ufo\RpcObject\RPC
8 )))
9 |(% style="width:141px" %)(((
10 **Target**
11 )))|(% colspan="2" rowspan="1" style="width:79px" %)class
12 |(% colspan="3" style="width:141px" %)**Arguments:**
13 |(% colspan="1" rowspan="3" style="width:141px" %)(((
14 **$alias**
15 )))|(% style="width:79px" %)**type**|(% style="width:153px" %)string
16 |(% style="width:79px" %)**optional**|(% style="width:153px" %)true
17 |(% style="width:79px" %)**default**|(% style="width:153px" %)null
18 |(% colspan="1" rowspan="3" style="width:141px" %)(((
19 **$concat**
20 )))|(% style="width:79px" %)**type**|(% style="width:153px" %)string
21 |(% style="width:79px" %)**optional**|(% style="width:153px" %)true
22 |(% style="width:79px" %)**default**|(% style="width:153px" %)'.'
23
24
25 {{/box}}
26
27 Інколи може знадобитися задати альтернативну назву для API метода, наприклад якщо у вас занадто довга назва класу, що обумовлена якимись стандатрами або домовленностями до іменувань класів в вашому проєкті.
28
29 В такому разі ви можете додати до вашого класу атрибут{{code language="none"}}#[RPC\Info]{{/code}} вказавши псевдонім для класу, це дасть вказівку RPC серверу сприймати цей псевдонім асоційовано до цього класу.
30
31 {{code language="php" layout="LINENUMBERS"}}
32 <?php
33 namespace App\Api\Procedures;
34
35 use Ufo\RpcObject\RPC;
36
37 #[RPC\Info(alias: 'users')]
38 class MySpecificApiUserServiceWithLongClassName implements IRpcService
39 {
40 public function getList(): void {}
41 }
42 {{/code}}
43
44 В такому випадку буде доступний API метод {{code language="none"}}users.getList{{/code}}.
45
46 {{warning}}
47 Зауважте, що оригінальний неймінг метод буде видалений із ServiceMap і більше не буде доступним.
48
49 Тобто MySpecificApiUserServiceWithLongClassName.getList більше не буде працювати!
50 {{/warning}}
51
52