以 ThinkPHP 8 多应用架构构建本地生活门户,含分类信息、商家黄页、资讯发布与同城互动。
背景
云楚生活是面向本地用户的生活信息平台,需要同时承载资讯内容、分类信息、商家黄页与同城互动四类业务,并保留后续接入小程序与公众号的能力。
面临的挑战
- 业务边界会持续扩张:如果一开始把四类业务写在一个应用里,后续新增频道会互相牵制。
- 多端复用:官网、移动端 H5 与后续小程序需要共用同一套数据与业务规则。
- 后台运营成本:编辑人员需要简单直观的内容发布界面,而不是一张裸表。
- 内容质量与合规:分类信息天然存在虚假与违规风险,需要审核链路。
解决方案
我们基于 ThinkPHP 8 多应用架构(topthink/think-multi-app),把系统拆分为 api / admin / home / wechat / common 五个子应用:
- api:统一对外接口,供 H5、小程序与第三方调用,业务规则只实现一次。
- admin:运营后台,含内容、商家、用户、审核与配置模块。
- home:PC 官网与移动端 H5,栏目页与内容页统一 max-width: 1200px 居中布局。
- wechat:公众号与小程序侧的授权、消息与支付能力。
- common:模型、验证器、服务类与配置的共享层,避免各端重复实现。
建设亮点
多应用拆分带来的最直接好处,是新增频道不需要改动已有代码——只要在 home 下加一个控制器,在 common 里复用模型即可。同时内容区统一 1200px 居中,PC 与移动端阅读体验保持一致,避免了「响应式一改就散」的常见问题。
成果
门户上线后,分类信息、商家黄页与资讯三个频道的发布流程完全统一,编辑培训成本大幅降低;统一的 API 层也让后续小程序接入只需对接接口,无需重复开发。
启示
门户类项目的技术选型,重点不是性能极限,而是「三年后还改得动」。多应用架构的价值,正是在业务边界不断变化时仍然保持清晰。
AI 摘要
云楚生活门户案例:ThinkPHP 8 多应用架构拆分为 api/admin/home/wechat/common 五子应用,承载分类信息、商家黄页、资讯与同城互动,栏目页统一 1200px 居中布局。
常见问答
Q: 门户类项目为什么要用多应用架构?
A: 因为业务边界会持续扩张。多应用把 api、后台、前台、微信侧与共享层分离,新增频道无需改动已有代码,长期可维护性更好。