MixPHP 支持多个应用,但只支持单一模块,`applications` 目录内你可以建立多个应用,全部应用类型: - console:命令行开发、守护进程开发 - http:Http服务开发 - websocket:WebSocket服务开发 - tcp:TCP服务开发 - udp:UDP服务开发 ## 增加或修改应用 `applications` 目录内的应用都可随意修改或增加,以 `HTTP` 应用为例: >[success] 通常一个 HTTP 应用对应一个子域名,如:api.test.com 对应 applications/api 。 ### 1. 建立应用目录 在 `applications` 目录内建一个子目录,比如:`api`,然后将默认应用 `httpd` 的全部文件复制过来。 ### 2. 修改自动加载(composer.json) 在 `psr-4` 字段中增加: ``` "Api\\": "applications/api/src/", ``` 然后执行命令更新自动加载: ``` $> composer dump-autoload ``` ### 3. 修改应用配置文件 在 `applications/api/config` 目录下找到你正在使用的应用配置文件。 修改命名空间相关的字段: - 命令行、守护进程 ~~~ // 命令命名空间 'commandNamespace' => 'Console\Commands', ~~~ - Http服务 ~~~ // 控制器命名空间 'controllerNamespace' => 'Api\Controllers', // 中间件命名空间 'middlewareNamespace' => 'Api\Middleware', ~~~ - WebSocket服务 ~~~ // 处理器命名空间 'handlerNamespace' => 'WebSocket\Handlers', // 拦截器命名空间 'interceptorNamespace' => 'WebSocket\Interceptors', ~~~ ### 4. 修改类文件的命名空间 找到所有类文件,全部修改为新的命名空间 `Api`。 ### 5. 修改 `mix-httpd` 的配置文件 在 `applications/api/config` 目录下找到 `httpd.php`,修改其中的端口、pid文件、日志文件等信息。 >[info] 其他 mix-websocketd、mix-tcpd、mix-udpd 服务器同上 ### 6. 启动 指定配置启动服务: ``` $> php mix-httpd start -c ../applications/api/config/httpd.php ```