在 PHP 中,可以使用構造函數注入或者 Setter 方法注入來實現依賴注入。以下是一個簡單的示例:
class UserService {
private $userRepository;
public function __construct(UserRepository $userRepository) {
$this->userRepository = $userRepository;
}
public function getUserById($id) {
return $this->userRepository->findById($id);
}
}
class UserRepository {
public function findById($id) {
// 查詢數據庫并返回用戶信息
}
}
$userRepository = new UserRepository();
$userService = new UserService($userRepository);
$userService->getUserById(1);
class UserService {
private $userRepository;
public function setUserRepository(UserRepository $userRepository) {
$this->userRepository = $userRepository;
}
public function getUserById($id) {
return $this->userRepository->findById($id);
}
}
class UserRepository {
public function findById($id) {
// 查詢數據庫并返回用戶信息
}
}
$userRepository = new UserRepository();
$userService = new UserService();
$userService->setUserRepository($userRepository);
$userService->getUserById(1);
在上述示例中,通過將依賴對象作為參數傳遞給構造函數或者 Setter 方法,來實現依賴注入。這樣可以使代碼更加靈活,易于維護和測試。