??? ??? ?? PHP ???? ?? ??? ????, ???? ??? ?? ???? ? ? ???? ??? ???? ????? ????? ? ??? ? ? ????. PHP ????? ThinkPHP6??? ??? ??? ? ?????.
ThinkPHP6??? ???? ?? ??? ?? ??? ??? ??? ? ????. ? ? ?? ??? ??? ????? ??? ???????.
?? ?? ??? ???????. ThinkPHP6? ???? ??? ???? ???? ??? ??? ??? ? ????. ??? ??? ??? ?? ??? ??? ????.
- ??? ??? ??? ??? ???
namespace appcontroller; use appserviceUserService; class UserController { private $userService; public function __construct(UserService $userService) { $this->userService = $userService; } public function index($userId) { $user = $this->userService->getUserById($userId); return $user; } }
- ???? ?? ???? ???? ??? ?????
use appserviceUserService; class UserController { /** * @Inject * @var UserService */ private $userService; public function __construct() {} public function index($userId) { $user = $this->userService->getUserById($userId); return $user; } }
? ???? ???? ?????. ??? @Inject
? ??? ?? UserService
? ??? ??? ??? ???? ??? ? ????. @Inject
注解,并指定需要注入的類的名稱 UserService
,就可以實現(xiàn)依賴注入。
接下來,我們看一下配置文件方式。通過這種方式,我們可以在配置文件中定義需要注入的類及其依賴關系。以配置文件方式進行依賴注入的步驟如下:
- 創(chuàng)建需要依賴注入的類
namespace appcontroller; class UserController { private $userService; public function __construct() {} public function index($userId) { $user = $this->userService->getUserById($userId); return $user; } }
- 在配置文件中進行配置
在 app/config/service.php
中,添加以下代碼:
return [ 'userService' => appserviceUserService::class, ];
在這個示例中,我們定義了一個名為 userService
的服務,指定它對應的類為 appserviceUserService::class
。
- 進行依賴注入
namespace appcontroller; class UserController { private $userService; public function __construct() { $this->userService = app('userService'); } public function index($userId) { $user = $this->userService->getUserById($userId); return $user; } }
在這個示例中,我們通過 app('userService')
方法從容器中獲取 userService
對象,并將其賦值給 $userService
app/config/service.php?? ?????. code>? ?? ??? ?????. ??rrreee??? ???? <code>userService
?? ???? ???? ?? ???? appserviceUserService::class
? ?????. ??- ????? ??????rrreee??? ????
app('userService')
???? ?? ?????? userService
? ?????. $userService
??? ???? ??? ??? ?????. ?????? ThinkPHP6?? ??? ??? ???? ? ?? ?????. ? ? ??? ?? ???? ? ? ???? ??? ???? ????? ??? ? ??? ???. ??? ??? ThinkPHP6? ??? ??? ?? ?????. ??? ??? 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)

settings.json ??? ??? ?? ?? ?? ?? ?? ??? ??? VSCODE ??? ??? ???? ? ?????. 1. ??? ?? ?? : Windows? C : \ Users \\ AppData \ Roaming \ Code \ User \ Settings.json, MacOS IS /users//library/applicationsupport/code/user/settings.json, linux? /home//.config/code/user/settings.json; 2. Workspace ?? ?? : .vscode/settings project root ????

??? (DI) ISADESIGNPATTORNWHEREWHEDROUDIVESTESTESTETESTERGROWCONSTRUCTOR, 2.SPRINGFRAMEWWERTHUSENONTATIONS? ??@autowiredWithjava ?? CONCUTTATIONS LIKERWITHCONSTRUCTOR, ORFIELDINGESS.2.SPRINGFRAMEWWERTHUSENNOTATIONS

DateTime.strpTime ()? ???? ?? ???? DateTime ??? ??????. 1. ?? ?? : "%y-%m-%d"? ?? DateTime ???? "2023-10-05"; 2. ?? ??? "%m/%d/%y", "%d/%m/%y", ?? ??? ?? ???? ?? "%b%d,%y%i :%m%p"? ?? ?? ??? ?????. 3. dateUtil.parser.parse ()? ???? ? ??? ??? ???? ?????. 4. ?? .D

?, ?? CSS ?? ?? ??? JavaScript??? ??? HTML ? CSS? ?? ??? ? ????. 1. ?? UL? Li? ???? ?? ??? ??????. 2. ?? ?? ???? ???? ?????? ???? ??? ???? ???; 3. ?? ?? : ?? Li? ???, ?? ??? ??? ???? ?????. ??; 4. ?? ??? ???? ??? : ??, ????????? : ???? ??; 5. ?? ?? ???? ??? ?? ????, ??? ????, ??? ? ?????? ???? ??? ????? ??? ???? ??? ? ????. ?? ???? ???? JavaScript ??? ???? ???? ??? ?????.

itertools.combinations? ?? ??? ???? ??? ?? ??? ???? ?? ? ?? ?? (?? ???)? ???? ? ?????. ???? ??? ????. 1. ?? ??? ??? ?? ( 'a', 'b'), ( 'a', 'c') ? ???? 2 ?? ?? ??? ?????. 2. ?? ??? ??? "ABC"? "ABD"? ?? ???? 3 ? ??? ???; 3. ? ??? ?? 1 5 = 6? ?? ?? ?? ??? ??? ?????. ?? ?? ??? ???????. ??? ??? ??? ??? ???? ??????, ??? AB? BA? ???? ???? ??, ??? ?? ??? ????.

Python? ETL ????? ???? ???? ?????. 1. ??? ?? : ??????, API, ?? ? ?? ???? Pandas, Sqlalchemy, ?? ? ?? ?????? ?? ???? ?? ? ? ????. 2. ??? ?? : ??, ?? ??, ???, ?? ? ?? ??? ??? ???? ??? ??? ???? ??? ??????. 3. ??? ?? : Pandas 'To_SQL ??? ?? ???? ??? SDK? ???? ?? ???? ???? ???? ?? ?? ? ?? ?????? ?????. 4. ?? ?? ?? : ?? ??, Dagster, Prefect? ???? ???? ? ??? ???? ?? ?? ? ?? ??? ???? ???? ?? ??? ??????.

???? ?? ?? ?? ?? ???? ?? ???? ???? ? ???? ?????. 1. @pytest.fixture ?????? ???? ???? ??????. 2. ??? ???? ???? ??? ???? ??; 3. ?? ?? ??? ?? ? ?? ??; 4. ??, ?? ?? ?? ?? ?? ??? ?? ?? ??; 5. ?? ???? Conftest.py? ???? ??? ?? ??? ???? ???? ?? ?? ? ??? ?? ??????.

UUID ??? ???? ?? ?????? ???? ??? ??? ??? ? ?? ???? ??? MAC ??? ?? UUID.getNode ()? ?? ?? ???? ??????. 2. ?? ????? ???? IPConfig ?? ifconfig? ?? ??? ??? ???? ?? ???? ?? MAC ??? ??? ? ??? ???? ?? ???? ?? ??? ????? ????? ?????. 3. ?? ????? GetMac? ???? ?? ? get_mac_address ()? ???? Mac? ???? ????? ?? IP? ??? ????? ?? ???? ?????. ???? ?? ?????? ???? ??? UUID ??? ?????. ?? ???? ?? ??? ???? ????? ?? ?? ???? ???? ???? ??? getma? ??? ? ????.
