多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 多模块支持 通常一个项目会有web网页模块 (www.t.com),又有api模块 (api.t.com),每个模块都关联一个子域名,这时就需要框架有对多模块的支持,ExpressPHP 的多模块是通过 `composer` 实现的,下面演示如何配置多模块: ## 1. 修改 `composer.json` 默认的 composer.json 如下: ~~~ { "autoload": { "psr-4": { "sys\\": "system/library/", "app\\": "application/" } } } ~~~ 修改为: ~~~ { "autoload": { "psr-4": { "sys\\": "system/library/", "www\\": "app_www/", "api\\": "app_api/" } } } ~~~ ## 2. 更新 `composer` ~~~ cd ExpressPHP // composer.json所在目录 php composer.phar update ~~~ ## 3. 建立与命名空间对应的APP目录 上面定义两个命名空间与分别对应的目录: ~~~ www 命名空间对应 app_www 目录 api 命名空间对应 app_api 目录 ~~~ 将默认的 `application` 目录修改为 `app_www` 目录,同时复制一份修改文件夹名称为 `app_api`。 ## 4. Apache 的子域名指向APP目录内的 `public` 目录 在 `httpd-vhosts.conf` 增加: ~~~ <VirtualHost *:80> DocumentRoot "\data\www\ExpressPHP-Demo\framework\app_www\public" ServerName www.t.com </VirtualHost> <VirtualHost *:80> DocumentRoot "\data\www\ExpressPHP-Demo\framework\app_api\public" ServerName api.t.com </VirtualHost> ~~~