阅读量:4
依赖注入在 Laravel 中是通过服务容器实现的。当需要使用一个类的实例时,可以在构造函数中直接声明需要依赖的类,然后 Laravel 会自动帮你解析出需要的实例。
例如,假设有一个 UserService 类需要依赖 UserRepository 类,可以这样实现依赖注入:
namespace App\Services; use App\Repositories\UserRepository; class UserService { protected $userRepository; public function __construct(UserRepository $userRepository) { $this->userRepository = $userRepository; } public function getAllUsers() { return $this->userRepository->getAll(); } }
然后,在控制器中使用 UserService 类时,Laravel 会自动注入 UserRepository 实例:
namespace App\Http\Controllers; use App\Services\UserService; class UserController extends Controller { protected $userService; public function __construct(UserService $userService) { $this->userService = $userService; } public function index() { $users = $this->userService->getAllUsers(); return view('users.index', ['users' => $users]); } }
通过这种方式,可以实现依赖注入,使代码更加灵活和易于维护。