怎样实现 php依赖注入

PHP
1040
2024/6/25 2:43:30
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

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

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: socket_recv函数中的多线程应用如何实现