KarelWintersky 已修改 . 還原成這個修訂版本
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 已修改 . 還原成這個修訂版本
1 file changed, 27 insertions
php_static_chain_calls.md(檔案已創建)
@@ -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 | + | ``` |