?? ??? ?? Hyperf ?????? ???? ??
??: Hyrpf? ??? ?? ??? ??? ?? PHP ?? ??? ???, ?? ??? ??? ????????. ?? ??? ?? ????? ???? ?????. ? ????? ?? ??? ?? Hyperf ?????? ???? ??? ???? ?? ?? ??? ?????.
1. Hyperf ????? ??
?? Hyperf ?????? ???? ???. Composer? ?? ??? ? ????. ??? ??? ?? ?? ??? ?????:
composer create-project hyperf/hyperf
2. ?? ?? ??
Hyperf ??????? ?? ??? ?? ??? /config/? ?????. autoload/logging.php
??? ???? ?? ?? ??, ?? ?? ? ?? ??? ??? ??? ? ????. ??? ??? ?? ?? ?????. /config/autoload/logging.php
文件中,我們可以在該文件中設(shè)置日志存儲(chǔ)的路徑、日志級(jí)別等信息。以下是一個(gè)簡(jiǎn)單的日志配置示例:
return [ 'default' => [ 'handler' => [ 'class' => MonologHandlerStreamHandler::class, 'formatter' => env('LOG_CHAN_EN', MonologFormatterLineFormatter::class), 'path' => BASE_PATH . '/runtime/logs/hyperf.log', 'level' => MonologLogger::INFO, ], ], ];
其中,path
字段表示日志存放的路徑。在這個(gè)示例中,我們將日志存放在/runtime/logs/hyperf.log
文件中。
三、使用日志記錄功能
在Hyperf框架中,我們可以通過依賴注入的方式來(lái)使用日志記錄的功能。以下是一個(gè)簡(jiǎn)單的使用示例:
use HyperfLoggerLoggerFactory; class FooService { /** * @var PsrLogLoggerInterface */ private $logger; public function __construct(LoggerFactory $loggerFactory) { $this->logger = $loggerFactory->get('default'); } public function doSomething() { // 省略業(yè)務(wù)邏輯 $this->logger->info('Something happened'); } }
在上面的示例中,我們通過依賴注入的方式將LoggerFactory
類注入到FooService
類中。然后,我們可以通過$this->logger->info()
方法來(lái)記錄日志。
四、使用日志通道
在Hyperf框架中,日志可以分為多個(gè)通道,每個(gè)通道可以有自己的配置和處理方式。以下是一個(gè)示例:
use HyperfLoggerLoggerFactory; use MonologFormatterJsonFormatter; class BarService { /** * @var PsrLogLoggerInterface */ private $logger; public function __construct(LoggerFactory $loggerFactory) { $this->logger = $loggerFactory->get('default'); } public function doSomething() { // 省略業(yè)務(wù)邏輯 $context = [ 'foo' => 'bar', ]; $this->logger->channel('foo')->pushHandler(function ($record) use ($context) { $record['context'] = $context; })->info('Something happened'); } }
在上面的示例中,我們使用$this->logger->channel('foo')
來(lái)指定日志通道為'foo'。然后,我們通過pushHandler()
方法設(shè)置了一個(gè)處理器函數(shù),將上下文信息$context
添加到日志記錄中。
五、使用自定義日志處理器
在Hyperf框架中,我們可以使用自定義的日志處理器來(lái)對(duì)日志進(jìn)行處理。以下是一個(gè)示例:
use HyperfLoggerLoggerFactory; use MonologFormatterJsonFormatter; use MonologHandlerRedisHandler; class BazService { /** * @var PsrLogLoggerInterface */ private $logger; public function __construct(LoggerFactory $loggerFactory) { $this->logger = $loggerFactory->get('default'); } public function doSomething() { // 省略業(yè)務(wù)邏輯 $redisHandler = new RedisHandler(/* redis 配置 */); $redisHandler->setFormatter(new JsonFormatter()); $this->logger->pushHandler($redisHandler)->info('Something happened'); } }
在上面的示例中,我們創(chuàng)建了一個(gè)RedisHandler
對(duì)象,并設(shè)置了相應(yīng)的配置和格式化方式。然后,我們通過pushHandler()
rrreee
path
??? ??? ???? ??? ?????. ? ???? /runtime/logs/hyperf.log
??? ??? ?????. 3. ?? ?? ?? Hyperf ???????? ??? ??? ?? ?? ??? ??? ? ????. ??? ??? ?? ????. rrreee
? ???? ??? ??? ??FooService
???? LoggerFactory
???? ?????. ?? ?? $this->logger->info()
???? ?? ??? ??? ? ????. ????4. ?? ?? ??????Hyperf ???????? ??? ?? ??? ?? ? ??? ? ??? ??? ?? ? ?? ??? ?? ? ????. ?? ??? ????. ??rrreee??? ???? $this->logger->channel('foo')
? ???? ?? ??? 'foo'? ?????. ?? ?? pushHandler()
???? ?? ??? ??? ???? ?? ???? ???? ?? $context
? ?????. ????5. ??? ?? ?? ???? ??????Hyperf ???????? ??? ?? ?? ????? ???? ??? ??? ? ????. ??? ?????. ??rrreee??? ????? RedisHandler
??? ???? ?? ?? ? ?? ?? ??? ??????. ?? ?? pushHandler()
???? ?? ??? ???? ?????. ??????:????? ???? ?? ??? ?? Hyperf ?????? ???? ??? ?????. ?? ?? ??, ?? ?? ??, ?? ?? ? ??? ?? ?? ????? ???? ?? ?? ? ??? ?????. Hyperf ?????? ???? ??? ?? ?? ???? ??? ??? ? ??? ??? ??? ?? ?? ??? ??? ? ????. ? ?? ?? ??? ?? Hyperf ?????? ??? ? ??? ??? ????. ??????: ?? ?? ??? ???? ??? ???? ??? ???? ??? ?? ?? ? ????? ???. ??? ??? ?? ??? ?? Hyperf ?????? ???? ??? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

??? ??











DirectX ?? ??? ?? ???? DirectX ??? ???? ?? ??? ???, ??? ???? ?? ??? ? ????. DirectX ?? ??? ???? ??? ??? ???? ?? ? ????. ??? ??? ????? ???????. 1. ?? ?? ?????? ???? ?? ??? ?????. 2. ??? ??? ? C++ ?? ??? ????? ??? ??? ???? ???? ?? ??? ??? ? ?? ?? ???? ?????. 3. ?? ??? ???? ??? ??? ? ?? ?? ??? ?????. 4. ??? ??? ? ?? ???? ?????. 5. ?? ?? ??? ??? ??? ??? ??? ???? ??? ??? ??? ????? ???? ?? ??? ? ? ????.

HTTP 525 ?? ?? ??: ?? ? ??? ?? HTTP(HypertextTransferProtocol) 525 ?? ??? SSL ????? ???? ?? ??? ??? ???? ?? ??? ??? ? ??? ?????. TLS(?? ?? ??) ????? ?? ??? ???? ??? ? ?? ??? ?????. ? ?? ??? ?? ?? ??? ??? ????? ?? ?? ?? ?? ??? ?????. ?????? HTTPS? ?? ??? ??? ???? ???? ?? ?? ????.

?????? ?? ??? ??? ???????, ??? ?? ???? ????? ???? ??? ????. ??? ?? ??? ??? ???? ?? ???? ????? ???? ??? ???????. 1. PotPlayer ??? PotPlayer ????? ?? ?? ???? ??? ????. (1) ??/?? ??: ???? (2) ??: ??? ?, ?? ??? ? (3) ???/??: ?? ? ??? ??? ? (4) ???: P-??? ??, H-View ??? (5) ????/??: Enter (6) ??: C-??, 7) ??/?? ???: D/

KMS ?? ?? ??? Microsoft Windows ? Office ??? ?? ???? ? ???? ????? ?????. KMS? KeyManagementService? ??? ? ?? ??????. KMS ?? ?? ??? ???? ?? KMS ??? ???? Windows ? Office ??? ?? ??? ? ??? KMS ??? ??? ????????. KMS ??? ??? ??? ?? ??? ?????. ? ?? ???? ????? ???? ? ???, ???? ???? ??? ?? ??? Windows ???? Office ?????? ???? ? ????. ??? ?? ?????? Windows ?? ?? ??? ???????. KMS ?? ?? ??? ???????.

??? Baidu Netdisk ???? ??? ???? ???? ???? ???? Baidu Netdisk ???? ??? ??????. ???? ??? ???? ????? ??? ? ????. 1??: Baidu Netdisk? ??? ? ?? ??????(?? ??). 2??: ?? ?? ??? ????? ?? "? ??" ? "?? ??"? ?????(?? ??). ?? ??"? ???? ??? ??? ???? ?? ??? ? ????(?? ??). 4??: ?? ?? "??"? ??? ?? ??? ???? ???? ??? ??? ?????(?? ??). ?? ?? 1??: ?? ?? ??? ?? ? ????(?? ??). 6??: "?? ?? ??"(?? ??)?? ??? ??? ?? ?? ????. ? ??? ???? ?????.

?? ????? Xiaoma win7 ??? ??? ???? ??? ?????. ??? Xiaoma win7 ??? ??? ???? ??? ?? ????? ????, ?? ??? ?? ??? ?? ???? Xiaoma win7 ??? ?? ?? ??? ???? ????. ?? ??? ?? ???. ? ?? ??? ???? ???? ? "? ???"? ???? ?? ??? "??? ??"? ???? Windows ?? ?? ??? ???? ????. ? ?? ????? ???? ????? win7 ??? ??? ?????? ???? ???(???? ?? ???? ??? ? ??). ? ?? ??? Xiaoma ??? ??? ?? "Windows ?? ???"? ???? ????. ? ?? ??? ??? ????? ???? ??? ??? ???? ????. 5??: Windows ?? ?? ??? ?? ???? ???? ?? ?????? ?????.

???? ?? ????? ??? ? ??? ?????. ?? ???? ??? ??? ???? ???? ???. ??? ?? ?? ??? ?????? ??? ?? ????? ???? ???? ??? ?? ????? ???????. win10 ?? ?? ?? ????? ???? ??: 1. "Win+R"? ??? cmd? ???? "?? ????"? ???. 2. chkdsk? ???? ?? ??? ???. 3. ?? ??? ??? ??? ?? ????. "d"? ?? ?? ??? 4. ?? ?? chkdskd:/F? ?????. 5. ?? ???? ?? ??? Y? ???? ??? ? ????.

PyCharm? JetBrains?? ??? ???? Python ?? ?? ??(IDE)???. Python ????? ??? ??? ??? ???? Python ??? ?? ????? ???? ??? ? ????. PyCharm? Windows, macOS, Linux? ??? ?? ?? ??? ???? ?? Python ??? ???? ???? ??? ??? ?? IDE ??? ??? ??? ? ??? ??? ????? ?? ??? ?????. ?
