Última atividade 1750107100

Цепочка вызовов методов в статических классах

php

KarelWintersky revisou este gist 1750107100. Ir para a revisão

1 file changed, 12 insertions

php_static_chain_calls.md

@@ -22,6 +22,18 @@ class RedisHelper {
22 22 return 'something';
23 23 }
24 24
25 + // только если мы хотим получить доступ к полям внешнего класса, их нужно инициализировать.
26 + // сначала создать метод инициализации
27 + // а потом вызвать его в конструкторе или ините родительского класса
28 + // ... или коннекторе
29 +
30 + public static function init(\Arris\Toolkit\RedisClient $redis_connector, bool $is_redis_connected, LoggerInterface $logger): void
31 + {
32 + self::$logger = $logger;
33 + self::$is_redis_connected = $is_redis_connected;
34 + self::$redis = $redis_connector;
35 + }
36 +
25 37 }
26 38
27 39 ```

KarelWintersky revisou este gist 1750107014. Ir para a revisão

1 file changed, 27 insertions

php_static_chain_calls.md(arquivo criado)

@@ -0,0 +1,27 @@
1 + Да, в PHP можно сделать вызов
2 +
3 + ```php
4 + Cache::redis()::keys('*')
5 + ```
6 +
7 + Делается это так:
8 +
9 + ```php
10 + class Cache {
11 +
12 + public static function redis():RedisHelper
13 + {
14 + return new RedisHelper();
15 + }
16 + }
17 +
18 + class RedisHelper {
19 +
20 + public static function keys(string $pattern = '*'):array
21 + {
22 + return 'something';
23 + }
24 +
25 + }
26 +
27 + ```
Próximo Anterior