在 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 方法,来实现依赖注入。这样可以使代码更加灵活,易于维护和测试。