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

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

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