From f40189371232abd62b89a500ab88e9857e302c28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=94=90=E6=B0=B8=E5=B7=9D?= Date: Fri, 26 Jun 2026 13:36:46 +0000 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20docs/doc?= =?UTF-8?q?s/framework=5Fbundle=5Fintro.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/docs/framework_bundle_intro.md | 35 ----------------------------- 1 file changed, 35 deletions(-) delete mode 100644 docs/docs/framework_bundle_intro.md diff --git a/docs/docs/framework_bundle_intro.md b/docs/docs/framework_bundle_intro.md deleted file mode 100644 index 01c0583..0000000 --- a/docs/docs/framework_bundle_intro.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -url: framework_bundle_intro ---- - -# Bundle - -Laravel(Lumen)官方建议将所有代码都放到 app 目录下面: - - -> - app 目录包含应用程序的核心代码。你应用中几乎所有的类都应该放在这里。 -> - app 目录包含额外的各种目录,比如:Console, Http, 和 Providers - - - -按照官方的建议将所有的应用程序代码都放到 app 目录里面,随着项目的增大,代码增多,需求逐渐复杂,后期将会导致代码过于复杂,维护成本急剧增高。 - -借鉴商派 ECOS 框架 APP 机制和 symfony 的 Bundle 系统,我们在 ECShopX 中也实现了一种模块化的机制,我们也称为 Bundle。 - -一个 Bundle 就是一个模块,其包含模块所有的资源。所有的 Bundle 都位于 `src` 目录下,
-Bundle 的命名规则为`业务名称+Bundle`, 它的目录结构如下: - -| 文件/目录 | 描述 | -| --- | --- | -| **Entities** | 包含本 Bundle 的所有实体类,一个实体类对应一张数据表。可以通过修改实体类来维护表结构 | -| **Events** | 包含事件类 | -| **Http** | 包含控制器,按照Api、FrontApi、ShopApi等分组,每个控制器都有所属版本号 | -| **Interfaces** | 包含本 Bundle 所有接口抽象 | -| **Jobs** | 包含队列任务类 | -| **Listeners** | 目录包含事件的处理类 | -| **Providers** | 包含本 Bundle 的服务提供者 | -| **Repositories** | 处理数据库逻辑,一般和entity表文件一对一。 | -| **Services** | 所有业务处理的逻辑放在此目录,供控制器调用 | -| **Traits** | 本 Bundle 可被复用的逻辑可以抽象为trait放在此目录 | -| **README.md** | 本 Bundle 的说明文件,介绍该 Bundle 的基本功能,主要类和一些设计思想,供其他开发人员参阅 | -