thinkPHP5.0框架开发规范简介
本文实例讲述了thinkPHP5.0框架开发规范。分享给大家供大家参考,具体如下:
命名规范
ThinkPHP5遵循PSR-2
命名规范和PSR-4
自动加载规范,并且注意如下规范:
目录和文件
目录不强制规范,驼峰及小写+下划线模式均支持;
类库、函数文件统一以.php为后缀;
类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致;
类名和类文件名保持一致,统一采用驼峰法命名(首字母大写);
函数和类、属性命名
类的命名采用驼峰法,并且首字母大写,例如 User
、UserType
,默认不需要添加后缀,例如UserController
应该直接命名为User
;
函数的命名使用小写字母和下划线(小写字母开头)的方式,例如 get_client_ip
;
方法的命名使用驼峰法,并且首字母小写,例如 getUserName
;
属性的命名使用驼峰法,并且首字母小写,例如 tableName
、instance
;
以双下划线“__”打头的函数或方法作为魔法方法,例如 __call
和 __autoload
;
常量和配置
常量以大写字母和下划线命名,例如 APP_PATH
和 THINK_PATH
;
配置参数以小写字母和下划线命名,例如 url_route_on
和url_convert
;
数据表和字段
数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如 think_user
表和 user_name
字段,不建议使用驼峰和中文作为数据表字段命名。
应用类库命名空间规范
应用类库的根命名空间统一为app(可以设置app_namespace配置参数更改);
例如:app\index\controller\Index和app\index\model\User。
请避免使用PHP保留字(保留字列表参见 http://php.net/manual/zh/reserved.keywords.php )作为常量、类名和方法名,以及命名空间的命名,否则会造成系统错误。
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》、《smarty模板入门基础教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
相关推荐
-
Thinkphp5.0自动生成模块及目录的方法详解
本文实例讲述了Thinkphp5.0自动生成模块及目录的方法.分享给大家供大家参考,具体如下: Thinkphp5.0发布已有些时日了,据说性能方面有很大的提升,按照官方的话,ThinkPHP5.0版本是一个颠覆和重构版本,采用全新的架构思想,引入了很多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载,并针对API开发做了大量的优化.是时候得download一份,研究一下.今天主要讲讲其自动创建模块及目录. Thinkphp5.0自动生成模块较ThinkPHP3.2,确实有很大的变化
-
thinkPHP5.0框架命名空间详解
本文实例讲述了thinkPHP5.0框架命名空间.分享给大家供大家参考,具体如下: 命名空间 ThinkPHP采用命名空间方式定义和自动加载类库文件,有效的解决了多模块和Composer类库之间的命名空间冲突问题,并且实现了更加高效的类库自动加载机制. 如果不清楚命名空间的基本概念,可以参考PHP手册:PHP命名空间 特别注意的是,如果你需要调用PHP内置的类库,或者第三方没有使用命名空间的类库,记得在实例化类库的时候加上 \,例如: // 错误的用法 $class = new stdClass
-
ThinkPHP权限认证Auth实例详解
本文以实例代码的形式深入剖析了ThinkPHP权限认证Auth的实现原理与方法,具体步骤如下: mysql数据库部分sql代码: -- ---------------------------- -- Table structure for think_auth_group -- ---------------------------- DROP TABLE IF EXISTS `think_auth_group`; CREATE TABLE `think_auth_group` ( `id` m
-
thinkphp关于简单的权限判定方法
实例如下: <li> <label>权限</label> <cite> <input name="MB_right" type="radio" value="1" checked="checked">超级管理员 <input name="MB_right" type="radio" value="0"&
-
thinkPHP5.0框架模块设计详解
本文实例讲述了thinkPHP5.0框架模块设计.分享给大家供大家参考,具体如下: 5.0版本对模块的功能做了灵活设计,默认采用多模块的架构,并且支持单一模块设计,所有模块的命名空间均以app作为根命名空间(可配置更改). 目录结构 标准的应用和模块目录结构如下: ├─application 应用目录(可设置) │ ├─common 公共模块目录(可选) │ ├─common.php 公共函数文件 │ ├─route.php
-
thinkPHP5.0框架整体架构总览【应用,模块,MVC,驱动,行为,命名空间等】
本文讲述了thinkPHP5.0框架整体架构.分享给大家供大家参考,具体如下: ThinkPHP5.0应用基于MVC(模型-视图-控制器)的方式来组织. MVC是一个设计模式,它强制性的使应用程序的输入.处理和输出分开.使用MVC应用程序被分成三个核心部件:模型(M).视图(V).控制器(C),它们各自处理自己的任务. 5.0的URL访问受路由决定,如果关闭路由或者没有匹配路由的情况下,则是基于: http://serverName/index.php(或者其它应用入口文件)/模块/控制器/操作
-
thinkPHP5.0框架安装教程
本文实例讲述了thinkPHP5.0框架安装方法.分享给大家供大家参考,具体如下: ThinkPHP5的环境要求如下: PHP >= 5.4.0 PDO PHP Extension MBstring PHP Extension CURL PHP Extension 严格来说,ThinkPHP无需安装过程,这里所说的安装其实就是把ThinkPHP框架放入WEB运行环境(前提是你的WEB运行环境已经OK),可以通过两种方式获取和安装ThinkPHP. 一.下载ThinkPHP安装 获取ThinkPH
-
ThinkPHP的RBAC(基于角色权限控制)深入解析
一.什么是RBAC基于角色的访问控制(Role-Based Access Control)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注.在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限.这就极大地简化了权限的管理.在一个组织中,角色是为了完成各种工作而创造,用户则依据它的责任和资格来被指派相应的角色,用户可以很容易地从一个角色被指派到另一个角色.角色可依新的需求和系统的合并而赋予新的权限,而权限也可根据需要而从某角色中回收.角色与角色的关系可以
-
thinkPHP5.0框架配置格式、加载解析与读取方法
本文实例讲述了thinkPHP5.0框架配置格式.加载解析与读取方法.分享给大家供大家参考,具体如下: ThinkPHP支持多种格式的配置格式,但最终都是解析为PHP数组的方式. PHP数组定义 返回PHP数组的方式是默认的配置定义格式,例如: //项目配置文件 return [ // 默认模块名 'default_module' => 'index', // 默认控制器名 'default_controller' => 'Index', // 默认操作名 'default_action' =
-
thinkPHP5.0框架环境变量配置方法
本文实例讲述了thinkPHP5.0框架环境变量配置方法.分享给大家供大家参考,具体如下: 允许使用环境变量配置,并且优先级别比在配置文件中要高,因为在读取配置参数的时候,首先会判断环境变量中是否存在该配置. 在开发过程中,可以在应用根目录下面的.env来模拟环境变量配置,.env文件中的配置参数定义格式采用ini方式,例如: app_debug = true app_trace = true 如果你的部署环境单独配置了环境变量,那么请删除.env配置文件,避免冲突. 环境变量配置的参数会全部转
-
thinkphp自定义权限管理之名称判断方法
权限管理,就是给不同的用户分配不同的权限.当用户登录或者操作时候进行判断,来阻止用户进行权限以外的操作.本次讲的是当用户登录一刻,只显示权限开启的内容. 一.建立数据库. 1.权限表funcla.来存储录入所有权限,也是避免因权限名称修改了,权限失效的问题. 2.管理员表admin.主要存储管理员用户名等信息. 3.管理员对应权限表funadmin.主要存储已开启的管理员id与权限id. 二.输出权限列表. 1.通过管理员列表进入权限分配. 2.权限分配列表. 关于权限分配列表,因为权限板块的不
-
thinkPHP5 ACL用户权限模块用法详解
本文实例讲述了thinkPHP5 ACL用户权限模块用法.分享给大家供大家参考,具体如下: 最近学习thinkphp5,和以前3.X版本是完全不是一个概念.学习thinkphp5的朋友要注意命名空间思想. 最近做的一个项目,一个检测管理系统,由于为了以后做APP需要,才切换到thinkphp5作为以后的扩展API用的.今天完成的是用户权限控制模块.我把这个mark下来 数据库: role数据库表: `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `n
随机推荐
- PHP中加密解密函数与DES加密解密实例
- fckeditor php上传文件重命名的设置
- php中判断一个字符串包含另一个字符串的方法
- Linux下编译安装php libevent扩展实例
- Nginx 出现 403 Forbidden 最终解决方法
- Java利用future及时获取多线程运行结果
- iOS 隐藏tabbar代码详解
- java Socket实现简单模拟HTTP服务器
- php 的加密函数 md5,crypt,base64_encode 等使用介绍
- Android 微信6.1 tab栏图标和字体颜色渐变的实现
- Android 实现调用系统照相机拍照和录像的功能
- PHP foreach循环使用详解与实例代码
- SQL 获取所有上级的实现方法
- jquery插件开发之实现md5插件
- jquery可见性过滤选择器使用示例
- JavaScript严格模式禁用With语句的原因
- Java 直接插入排序的三种实现
- java实现简单的搜索引擎
- php类常量用法实例分析
- 关于Spring启动时Context加载源码分析