PHP

怎样实现 php依赖注入

小樊
100
2024-07-05 02:43:30
栏目: 编程语言

在 PHP 中,可以使用构造函数注入或者 Setter 方法注入来实现依赖注入。以下是一个简单的示例:

  1. 构造函数注入示例:
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);
  1. Setter 方法注入示例:
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 方法,来实现依赖注入。这样可以使代码更加灵活,易于维护和测试。

0
看了该问题的人还看了