• thinkphp5学习总结2---命名规范和目录结构


    命名规范

    命名规范,官方上有,但是有很多博客,也是抄一下,当成自己的。我这里,做一下总结。总结的不太好。

     1.tp中的命名。
         两种命名:匈牙利命名,驼峰式(大驼峰,小驼峰)。
         两种场景:第一,描述数据类型,第二:描述目录和文件,数据库。
     2.tp描述类型:tp中的本质的数据类型(字符串,布尔,函数,数组,对象,类等等),在这个层面上,用到命名规范的地方有:有常量,变量,函数,类,属性,方法。
         系统常量:全部大写
         配置:小写
         变量:全部小写
         函数:全部小写
         类:大驼峰
         属性:小驼峰
         方法:小驼峰
     3.tp描述目录和文件:
         目录:小写
         类文件:大驼峰
    

    可以根据权重来记忆
    0级,全部小写+下划线。包括,函数,变量,数据表,字段等等目录等等
    1级,小驼峰。属性,方法。
    2级,大驼峰。类,类文件
    3级,全大写+下划线。系统常量
    4级,是魔术方法。 双下划线开头+驼峰法。__set(), __callStatic()
    再摘录一些文档
    1、目录与文件

    类型 命名规范 实例
    目录 小写字母/小写字母+下划线 user/user_type
    类文件(驼峰法) 命名空间与文件真实路径完全一致 appindexcontroller
    类文件(驼峰法) 类名与文件名保持一致(首字母大写) User.php中只有User类
    其他文件 小写字母/小写字母+下划线 list.php / list_user.php

    2、函数与类属性与方法

    类型 命名规范 实例
    函数 匈牙利命名法(小写字母+下划线) get_user_type()
    类的方法 驼峰法(首字母小写) getName()
    类的属性 驼峰法(首字母小写) userType
    魔术方法 双下划线开头+驼峰法 __set(), __callStatic()

    3、常量与参数的配置

    类型 命名规范 实例
    常量 匈牙利命名法(大写字母+下划线) APP_PATH
    配置参数 匈牙利命名法(小写字母+下划线) url_route_on

    4、数据库与字段

    类型 命名规范 实例
    数据表 小写字母+下划线,前缀用数据库名 tp5_staff
    字段 小写字母+下划线,前缀用表名 staff_name

    目录结构

    www  WEB部署目录(或者子目录)
    ├─application           应用目录
    │  ├─common             公共模块目录(可以更改)
    │  ├─module_name        模块目录
    │  │  ├─common.php      模块函数文件
    │  │  ├─controller      控制器目录
    │  │  ├─model           模型目录
    │  │  ├─view            视图目录
    │  │  └─ ...            更多类库目录
    │  │
    │  ├─command.php        命令行定义文件
    │  ├─common.php         公共函数文件
    │  └─tags.php           应用行为扩展定义文件
    │
    ├─config                应用配置目录
    │  ├─module_name        模块配置目录
    │  │  ├─database.php    数据库配置
    │  │  ├─cache           缓存配置
    │  │  └─ ...            
    │  │
    │  ├─app.php            应用配置
    │  ├─cache.php          缓存配置
    │  ├─cookie.php         Cookie配置
    │  ├─database.php       数据库配置
    │  ├─log.php            日志配置
    │  ├─session.php        Session配置
    │  ├─template.php       模板引擎配置
    │  └─trace.php          Trace配置
    │
    ├─route                 路由定义目录
    │  ├─route.php          路由定义
    │  └─...                更多
    │
    ├─public                WEB目录(对外访问目录)
    │  ├─index.php          入口文件
    │  ├─router.php         快速测试文件
    │  └─.htaccess          用于apache的重写
    │
    ├─thinkphp              框架系统目录
    │  ├─lang               语言文件目录
    │  ├─library            框架类库目录
    │  │  ├─think           Think类库包目录
    │  │  └─traits          系统Trait目录
    │  │
    │  ├─tpl                系统模板目录
    │  ├─base.php           基础定义文件
    │  ├─console.php        控制台入口文件
    │  ├─convention.php     框架惯例配置文件
    │  ├─helper.php         助手函数文件
    │  ├─phpunit.xml        phpunit配置文件
    │  └─start.php          框架入口文件
    │
    ├─extend                扩展类库目录
    ├─runtime               应用的运行时目录(可写,可定制)
    ├─vendor                第三方类库目录(Composer依赖库)
    ├─build.php             自动生成定义文件(参考)
    ├─composer.json         composer 定义文件
    ├─LICENSE.txt           授权说明文件
    ├─README.md             README 文件
    ├─think                 命令行入口文件
    
    

    另外:
    1.thinkphp支持插件化开发,插件一般都放在一个文件夹里,的名字一般是addons,跟application同一层
    2.类库有四种:框架类库,第三方类库,公共类库,扩展类库。
    3.鉴于类的单继承行,tp5引入了traits

    traits	英[treɪts],美[treɪts]
        n.	(人的个性的) 特征,特性,特点;
    
  • 相关阅读:
    Android之SurfaceView学习(一)
    AS3的加载机制(带例子) 转载
    Timer与TimerTask的用法
    A*寻路初探 GameDev.net (转载)
    解决在Sql Server2005查询分析器中读取Excel表出现的一些问题
    svn更改用户问题
    MVC4 WEBAPI初探
    使用WORD2013发布blog
    一个IIS中可否支持两个版本的Freamwork
    web打印也能分页
  • 原文地址:https://www.cnblogs.com/cn-oldboy/p/12771821.html
Copyright © 2020-2023  润新知