Notadd框架学习之安装服务提供者源码解析

当我们访问系统的时候,如果系统没有安装则会跳转到安装界面,是如何实现的呢?一步步来分析一下

1.在storage/bootstraps/services.php下定义了许多服务提供者,可以到InstallerServiceProvider这个服务提供者,就是用来提供安装服务的。

2.继续看 vendor/notadd/installers/src/InstallerServiceProvider.php的boot方法,可以看到在这里注册了路由,命令,视图和语言包等等。

3.当程序检查 storage/installed文件不存在的时候,则执行安装程序,交给vendor/notadd/installers/src/Controllers/InstallController.php 这个控制器执行

4.接下来加载前端页面,vue组件通过api接口和后端进行交互,API控制器的目录位于vendor/notadd/installers/src/Controllers/Api

5.当全部信息填写完成,验证通过的时候,执行如下代码安装程序:

                $command = $this->getCommand('install');
                $command->setDataFromController($this->request->all());
                $input = new ArrayInput([]);
                $output = new BufferedOutput();
                $command->run($input, $output);

本文 暂无 评论

Top
在线咨询 ×

站长QQ:366131726

扫描添加客服微信

工作时间:早8:00 - 晚11:00