PHP如何实现依赖倒置
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,小编给大家分享一下PHP如何实现依赖倒置,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!实现类:
千家信息网最后更新 2026年10月31日PHP如何实现依赖倒置
小编给大家分享一下PHP如何实现依赖倒置,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
实现类:
setings[$abstract] = $concrete; } public function get($abstract, $parameters = array()) { if (!isset($this->setings[$abstract])) { return null; } return $this->build($this->setings[$abstract], $parameters); } public function build($concrete, $parameters) { if ($concrete instanceof Closure) { return $concrete($this, $parameters); } $reflector = new ReflectionClass($concrete); if (!$reflector->isInstantiable()) { throw new Exception("Class {$concrete} is not instantiable"); } $constructor = $reflector->getConstructor(); if (is_null($constructor)) { return $reflector->newInstance(); } $parameters = $constructor->getParameters(); $dependencies = $this->getDependencies($parameters); return $reflector->newInstanceArgs($dependencies); } public function getDependencies($parameters) { $dependencies = array(); foreach ($parameters as $parameter) { $dependency = $parameter->getClass(); if ($dependency === null) { if ($parameter->isDefaultValueAvailable()) { $dependencies[] = $parameter->getDefaultValue(); } else { throw new Exception("Can not be resolve class dependency {$parameter->name}"); } } else { $dependencies[] = $this->get($dependency->name); } } return $dependencies; }}实现实例:
foo = $foo; }} $container = new Container();$container->set('Baz', 'Baz');$container->set('MyInterface', 'Foo');$baz = $container->get('Baz');print_r($baz);$container->set('MyInterface', 'Bar');$baz = $container->get('Baz');print_r($baz);以上是"PHP如何实现依赖倒置"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
篇文章
内容
不怎么
大部分
实例
更多
知识
行业
资讯
资讯频道
频道
参考
学习
帮助
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上海喔噻互联网科技有限公司
科技互联网龙头
互联网科技行业发展
南京欣网互联网科技
上海喔噻互联网科技
苏州大垚互联网科技
山东吉时兔互联网科技有限公司
青海省互联网新科技
互联网科技人工智能实验室
长沙茂晟互联网科技有限公司
中科明德北京互联网科技
科技互联网海报
上海钢联属于互联网科技股吗
广州燕处互联网科技有限公司
九思连强互联网电子科技有限公司
济南小医互联网科技有限公司招聘
互联网科技机房
三亚科技创新互联网基地
杭州科技互联网公司有哪些
互联网科技自媒体灵感
互联网的科技
腾讯阿里互联网科技
科技与互联网发展
期待互联网科技
互联网与未来科技
隆华科技工业互联网
中国的互联网科技企业的崛起
上海科技产业互联网平台
容联科技互联网电商
米泉互联网科技专业怎么样