PHP依赖注入的概念、出现原因、实现及应用是什么
Admin 2022-08-27 群英技术资讯 475 次浏览
一、什么是依赖注入 (DI)
二、依赖注入出现的原因
<?php class container { private $adapter; public function __construct() { $this->adapter = new adapter(); } }
三、简单的依赖注入
<?php class container { private $adapter; public function __construct(adapter $adapter) { $this->adapter = $adapter; } }
<?php class container { public $instance = []; public function __set($name, $value) { $this->instance[$name] = $value; } } $container = new container(); $container->adapter = new adapter();
五、依赖注入的应用
<?php class container { public $instance = []; public function __set($name, $value) { $this->instance[$name] = $value; } } class adapter { public $name = '我是调度器'; } $container = new container(); $container->adapter = new adapter(); class autofelix { private $container; public function __construct(container $container) { $this->container = $container; } public function who($class) { return $this->container->instance[$class]->name; } } $autofelix = new autofelix($container); $who = $autofelix->who('adapter'); var_dump($who); //我是调度器
六、高阶优化
<?php $container = new container(); $container->adapter = new adapter(); //高阶优化 $container = new container(); $container->adapter = function () { return new adapter(); };
原文地址:https://juejin.cn/post/7004616671864291359
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本篇文章给大家总结了45 个必知必会的 PHP 面试题 。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
这篇文章主要给大家介绍了关于php图片缩放和裁剪的相关资料,主要利用的是imagecopyresampled(),文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
站内信本身除了消息来源(module_name),还有一个纬度的描述,叫消息类型(message_type),例如安全消息、活动消息、服务消息等,每一大类里,又可以划分子类,例如活动消息-优惠活动 消息来源和消息类型可以是正交关系,即工单平台也可以有活动消息;消息来源也可以是消息类型的一种,称为“产品消息”
swoole进程关闭后可以使用Server->reload方法重启。Swoole提供了柔性终止/重启的机制,管理员只需要向Server发送特定的信号,Server的Worker进程可以安全的结束或重启。
首先我们找到File并打开设置settings选项,找到editor->font栏目选项。修改size中的数字,即可更换代码编辑区域的字体大小。我们可以在代码示例区域进行预览。选择好合适的大小后,点击OK就可以了。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008