
开始正题之前,先在controllers目录下新建两个文件:
服务容器是一种集中管理对象之间依赖关系的设计模式,提供了一种结构化的方式来访问和管理应用程序中的服务。
它充当网站内服务的注册表。
首先在Core目录下创建一个名为Controller.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);
}
}
App类作为Container的接口,为访问服务提供方便的接口。
类应用程序{
受保护的静态$容器;
公共静态函数 setContainer($container) {
静态::$容器=$容器;
}
公共静态函数容器(){
返回静态::$容器;
}
公共静态函数bind($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中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号