模块设计

标准的应用和模块目录结构如下

  1. +-- app 应用目录(可设置)
  2. | +-- classes 类库目录
  3. | | +-- module1 模块1(示例)
  4. | | +-- module2 模块2(示例)
  5. | | +-- ... 更多模块
  6. | |
  7. | +-- config 配置目录
  8. | | +-- config.inc.php 应用配置
  9. | | +-- dbconfig.inc.php 数据库配置
  10. | | +-- module1 模块1(示例)
  11. | | +-- module2 模块2(示例)
  12. | | +-- ... 更多模块
  13. | |
  14. | +-- ctrl 控制器目录
  15. | | +-- module1 模块1(示例)
  16. | | +-- module2 模块2(示例)
  17. | | +-- ... 更多模块
  18. | |
  19. | +-- lang 语言目录
  20. | | +-- module1 模块1(示例)
  21. | | +-- module2 模块2(示例)
  22. | | +-- ... 更多模块
  23. | |
  24. | +-- model 数据模型目录
  25. | | +-- module1 模块1(示例)
  26. | | +-- module2 模块2(示例)
  27. | | +-- ... 更多模块
  28. | |
  29. | +-- tpl 模板目录
  30. | | +-- module1 模块1(示例)
  31. | | | +-- default default 模板(示例)
  32. | | | +-- test test 模板(示例)
  33. | | | +-- ...
  34. | | |
  35. | | +-- module2 模块2(示例)
  36. | | +-- ... 更多模块
  37. | |
  38. | +-- validate 验证器目录
  39. | | +-- module1 模块1(示例)
  40. | | +-- module2 模块2(示例)
  41. | | +-- ... 更多模块
  42. | |
  43. | +-- common.php 公共文件

目录必须采用小写和下划线命名

如果希望更改各目录的位置,可以在入口文件中定义常量,如:

添加 GK_APP_CONFIG 可以更改配置文件的目录:

  1. // 定义配置目录
  2. define('GK_APP_CONFIG', __DIR__ . '/../config/');
  3. // 加载框架引导文件
  4. require(__DIR__ . '/../ginkgo/boot.php');

如果只想改变配置目录的名称,也可以添加 GK_NAME_CONFIG 常量定义,例如:

  1. // 定义配置目录
  2. define('GK_NAME_CONFIG', 'config');

添加 GK_PATH_APP 可以更改应用目录的位置:

  1. // 定义配置目录
  2. define('GK_PATH_APP', __DIR__ . '/../app/'); //应用目录
  3. // 加载框架引导文件
  4. require(__DIR__ . '/../ginkgo/boot.php');

如果只想改变应用目录的名称,也可以添加 GK_NAME_APP 常量定义,例如:

  1. // 定义配置目录
  2. define('GK_NAME_APP', 'app');

注意:常量定义必须在加载框架引导文件之前

详情请查看 配置 -> 常量配置 章节

模块名称请避免使用 PHP 保留关键字,保留字列表参见 http://php.net/manual/zh/reserved.keywords.php,否则会造成系统错误。