最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

关于PHP中依赖注入的详细介绍

来源:动视网 责编:小采 时间:2020-11-03 23:12:22
文档

关于PHP中依赖注入的详细介绍

关于PHP中依赖注入的详细介绍:依赖注入原理:依赖注入是一种允许我们从硬编码的依赖中解耦出来,从而在运行时或者编译时能够修改的软件设计模式。简而言之就是可以让我们在类的方法中更加方便的调用与之关联的类。实例讲解:假设有一个这样的类:class Test { public function i
推荐度:
导读关于PHP中依赖注入的详细介绍:依赖注入原理:依赖注入是一种允许我们从硬编码的依赖中解耦出来,从而在运行时或者编译时能够修改的软件设计模式。简而言之就是可以让我们在类的方法中更加方便的调用与之关联的类。实例讲解:假设有一个这样的类:class Test { public function i


依赖注入原理:

依赖注入是一种允许我们从硬编码的依赖中解耦出来,从而在运行时或者编译时能够修改的软件设计模式。简而言之就是可以让我们在类的方法中更加方便的调用与之关联的类。

实例讲解:

假设有一个这样的类:

class Test
{
 public function index(Demo $demo,Apple $apple){
 $demo->show();
 $apple->fun();
 }
}

如果想使用index方法我们需要这样做:

$demo = new Demo();
$apple = new Apple();
$obj = new Test();
$obj->index($demo,$apple);

index方法调用起来是不是很麻烦?上面的方法还只是有两个参数,如果有更多的参数,我们就要实例化更多的对象作为参数。如果我们引入的“依赖注入”,调用方式将会是像下面这个样子。

$obj = new dependencyInjection();
$obj->fun("Test","index");

我们上面的例子中,Test类的index方法依赖于Demo和Apple类。

“依赖注入”就是识别出所有方法“依赖”的类,然后作为参数值“注入”到该方法中。

dependencyInjection类就是完成这个依赖注入任务的。

<?php
/**
 * Created by PhpStorm.
 * User: zhezhao
 * Date: 2016/8/10
 * Time: 19:18
 */
class dependencyInjection
{
 function fun($className,$action){
 $reflectionMethod = new ReflectionMethod($className,$action);
 $parammeters = $reflectionMethod->getParameters();
 $params = array();
 foreach ($parammeters as $item) {
 preg_match('/> ([^ ]*)/',$item,$arr);
 $class = trim($arr[1]);
 $params[] = new $class();
 }
 $instance = new $className();
 $res = call_user_func_array([$instance,$action],$params);
 return $res;
 }
}

在mvc框架中,control有时会用到多个model。如果我们使用了依赖注入和类的自动加载之后,我们就可以像下面这样使用。

public function index(UserModel $userModel,MessageModel $messageModel){
 $userList = $userModel->getAllUser();
 $messageList = $messageModel->getAllMessage();
}

推荐教程:PHP视频教程

文档

关于PHP中依赖注入的详细介绍

关于PHP中依赖注入的详细介绍:依赖注入原理:依赖注入是一种允许我们从硬编码的依赖中解耦出来,从而在运行时或者编译时能够修改的软件设计模式。简而言之就是可以让我们在类的方法中更加方便的调用与之关联的类。实例讲解:假设有一个这样的类:class Test { public function i
推荐度:
标签: 介绍 php 简介
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top