common文件命名习惯

在我们使用thinkphp时,很少使用后缀命名,比如一个控制器我们会使用Index,而不是IndexController,一个模型会命名为User而不是UserModel,在我们这个后台中应当继续按照ThinkPHP的规范来.

但是我们在框架中在common目录下封装了一些类库,我们推荐在这个目录下的类库命名,都需要带着后缀.

这与ThinkPHP的规范习惯并不冲突,你可以这样理解,ThinkPHP中的这些文件都是应用app内的,而一些额外的通用的类库,应当用更易于阅读区分的方式去命名

比如如果在common下有一个通用的基类控制器,我们应当命名为AdminController而不是Admin,如果有一个通用的模型,则命名为AdminModel,而不是Admin,尽管他们处于普通的子目录.

common内置的子目录

我们在common下内置了一些目录存放类库文件,这里做一下说明,目录预览如下:

common                      
├─ command                  
│  ├─ admin                 
│  │  └─ ResetPassword.php  
│  ├─ timer                 
│  │  └─ config.php         
│  ├─ Curd.php              
│  ├─ Install.php           
│  ├─ Node.php              
│  ├─ OssStatic.php         
│  └─ Timer.php             
├─ constants                
│  ├─ AdminConstant.php     
│  └─ MenuConstant.php      
├─ controller               
│  ├─ AdminController.php   
│  ├─ TimerController.php   
│  └─ ToolsController.php   
├─ model                    
│  └─ TimeModel.php         
├─ service                  
│  ├─ AuthService.php       
│  └─ MenuService.php       
├─ tools                    
│  ├─ BuildCurdTools.php    
│  └─ PathTools.php         
├─ tpl                      
│  ├─ dispatch_jump.tpl     
│  └─ think_exception.tpl   
└─ traits                   
   └─ JumpTrait.php

common的文件下,除了命令目录command,都需要命名后缀,以便在调用时有更好的可读性.

command

这个目录存放的是ThinkPHP生成的命令行文件,应当继续遵守ThinkPHP的命名习惯,一般的按照TP文档,生成的命令不会在common下,所以应当用下面的方式生成命令:

命令行的入口文件是think,一般不会区分应用(app),所以我们应当把一些命令放到common目录下

php think make:command common@Test

constants

存放常量类库文件

controller

存放控制器基类

modle

存放模型基类

service

  • 存放与业务息息相关的逻辑文件,比如登录注册/加载列表
  • 存放在多个应用下都会用到的服务层文件,如果服务层的文件只会在一个应用下使用,则不应当存放在这里
  • 一般使用实例化类的调用方式编写逻辑,也可以适当使用静态方法的方式
  • 一般与数据库进行很多调用

tools

该目录的功能与service很相似,但是:

  • 存放与业务并不息息相关的文件,比如发送验证码,发送邮件,初始化目录
  • 一般写成静态方法的方式
  • service相比,一般这里都和扩展类库打交道,很少与数据库打交道

tpl

存放一些系统中使用的模板文件,既可以使用原生PHP的写法(<?php echo $title; ?>),也可以使用view的视图引擎写法,自己注意调用即可.

traits

存放 通用的 traits 类库文件,跟应用内的业务并不是息息相关,比如通用的页面跳转等

原文标题:app/common目录规范

原文文档:ulthon_admin

原文地址:https://doc.ulthon.com/read/augushong/ulthon_admin/62393f7375440/zh-cn/2.x.html

原文平台:奥宏文档

2.x