在开始正题之前,在controllers目录下新建两份文件:
服务容器是集中管理对象之间依赖关系的设计模式,为访问和管理应用程序提供结构化的服务。
它作为网站服务的注册表。
集装箱类首先,在Core目录中创建一个名为Controler.php文件。在这里初始化 Container 负责绑定和分析管理服务。
类容器{ 被保护的$绑定= []; 绑定公共函数($key,$resolver){ $this->绑定[$key] = $resolver; } 公共函数解析($key){ if (!array_key_exists($key, $this->bindings)) { throw new Exception("没有找到 {$key} 的匹配绑定"); } $resolver = $this->绑定[$key]; 返回 call_user_func($resolver); } }
作为Container的接口,App类为访问服务提供了方便的接口。
类应用程序{ 静态$容器受保护; 公共静态函数 setContainer($container) { 静态::$容器=$容器; } 公共静态函数容器(){ 返回静态::$容器; } 公共静态函数bindd($key, $resolver) { static::container()->bind($key, $resolver); } 公共静态函数分析($key){ 返回静态::container()->resolve($key); } }
Bootstrap 它是应用程序的一个点,一切都在其中设置和初始化。
$container = new Container(); $container->bind('CoreDatabase', function () { $config = require base_path('config.php'); 返回新数据库($config['database']); }); 应用程序::setContainer($container);
在此,引导过程:
可以使用 App::resolve() 方法来自控制器中的容器分析服务。
$db = App::resolve('CoreDatabase');
现在服务容器已经正确构建,项目运行良好。
我希望你能清楚地理解。
以上是服务容器指导程序:详细介绍,请关注其他相关文章!
服务容器指导程序:入门-php教程
电脑软件备份:全面保障,一键无忧的终极方案
Drupal:删除数据库 Ghost 插件-php教程
远程桌面连接:一键直达,高效便捷!
云服务器:颠覆传统,高效稳定首选方案!
PHP 并发并行-php教程
C盘空间告急?揭秘隐形占用,释放你的内存!
Drupal:删除数据库 Ghost 插件-php教程
PHP 并发并行-php教程
Golang框架的并发模型对性能的影响-Golang
2582.交枕-php教程
golang框架支持多平台部署吗?-Golang
golang框架在部署和维护方面的考虑是什么?-Golang
Golang框架中数据库访问的性能优化-Golang
PHP HyperF -> php教程重叠并发-php教程
使用golang框架避免性能瓶颈-Golang
Golang框架垃圾回收对性能的影响-Golang
golang框架对分布式系统的支持程度如何?-Golang
不同类型的golang框架有哪些关键区别?-Golang