PHP开发规范标准
- 格式:doc
- 大小:51.29 KB
- 文档页数:22
服务器要求PHP 版本5.2 或更新的版本。
MySQL版本推荐5.0或者更新版本。
模型-视图-控制器(MVC)MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。
使用MVC应用程序被分成三个核心部件:模型(M)、视图(V)、控制器(C),它们各自处理自己的任务。
视图:视图是用户看到并与之交互的界面。
对老式的Web应用程序来说,视图就是由HTML 元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services。
如何处理应用程序的界面变得越来越有挑战性。
MVC一个大的好处是它能为你的应用程序处理很多不同的视图。
在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
模型:模型表示企业数据和业务规则。
在MVC的三个部件中,模型拥有最多的处理任务。
例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。
被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。
由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
控制器:控制器接受用户的输入并调用模型和视图去完成用户的需求。
所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。
它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。
现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。
文件目录结构根目录| – api 接口文件目录| – caches 缓存文件目录| – configs系统配置文件目录| – caches_* 系统缓存目录| – phpcms phpcms框架主目录| – languages 框架语言包目录| – libs 框架主类库、主函数库目录| – model 框架数据库模型目录| – modules 框架模块目录| – templates 框架系统模板目录| – phpsso_server phpsso主目录| – statics 系统附件包| – css系统css包| – images 系统图片包| – js系统js包| – uploadfile 网站附件目录| – admin.php 后台管理入口| – index.php 程序主入口| – crossdomain.xml FLASH跨域传输文件| – robots.txt 搜索引擎蜘蛛限制配置文件| – favicon.ico 系统icon图标URL访问PHPCMS是采用MVC设计模式开发,基于模块和操作的方式进行访问,采用单一入口模式进行项目部署和访问,无论访问任何一个模块或者功能,只有一个统一的入口。
psr 规范PSR(PHP Standards Recommendations)是由PHP-FIG(PHP Framework Interop Group)组织制定的一系列PHP编码规范。
这些规范旨在为PHP开发人员提供统一的代码风格和最佳实践,以便增加代码的可读性、可维护性和可扩展性。
以下是对PSR规范的简要描述:1. PSR-1: 基本编码规范PSR-1规范主要定义了PHP代码的基本要求,包括文件命名空间、文件编码方式、类命名和文件自动加载规则等。
2. PSR-2: 代码风格指南PSR-2规范描述了PHP代码的一般样式规则,如缩进、行长度、命名约定、代码块间的空格等。
遵循这些规范可以提高代码的可读性和一致性。
3. PSR-3: 日志接口PSR-3规范定义了一套通用的日志接口,使得不同的日志库可以互相兼容。
该规范主要包括日志级别、记录消息和记录上下文等内容。
4. PSR-4: 自动加载规范PSR-4规范指定了类和命名空间之间的映射关系,使得自动加载类变得更加简单和可维护。
该规范要求将类的命名空间与文件路径结构一致。
5. PSR-6: 缓存接口PSR-6规范定义了一套通用的缓存接口,使得不同的缓存库可以互相兼容。
该规范主要包括缓存快照、读写操作和数据过期等内容。
6. PSR-7: HTTP消息接口PSR-7规范定义了一套通用的HTTP消息接口,包括请求和响应的处理、URI解析和文件上传等功能。
该规范使得不同的HTTP库可以互相兼容。
PSR规范的制定和推广对于提高PHP开发人员的编码质量和效率起到了积极的推动作用。
遵循PSR规范可以使代码更易于理解、维护和协作,也有助于提高整个开发团队的编码水平和一致性。
因此,对于PHP开发人员来说,熟悉并遵循PSR 规范是非常重要的。
php psr标准PSR是PHP Standard Recommendations的缩写,是一系列针对PHP语言的最佳实践和标准。
这些标准旨在确保PHP代码的可读性、可维护性和一致性,并促进不同开发人员之间的协作。
以下是PSR标准的一些重要方面:1. PSR-0(已废弃):PSR-0是已废弃的自动加载规范,它规定了如何自动加载PHP类文件。
该规范要求类文件的命名必须遵循特定的命名规则,以便通过自动加载机制正确加载类文件。
2. PSR-1:PSR-1是基础编码标准,它规定了PHP代码的基本格式和命名规则。
例如,它规定了类名、常量、函数和变量的命名规则,以及代码缩进和注释的用法等。
3. PSR-2:PSR-2是样式指南,它涵盖了PHP代码的样式和格式化规范。
它包括对代码缩进、注释、命名、空格和空行的使用等方面的规定。
4. PSR-3:PSR-3是日志记录接口,它定义了一个通用的日志记录接口,以便在不同的日志记录框架之间进行互操作。
这个标准有助于统一日志记录的输出格式和级别。
5. PSR-4:PSR-4是自动加载标准,它取代了PSR-0。
PSR-4规定了如何根据类名自动加载PHP类文件,以确保在不同的项目之间实现一致的自动加载机制。
6. PSR-5:PSR-5是注释规范,旨在标准化PHP代码注释的使用。
这个标准规定了注释的格式和内容要求,以帮助提高代码的可读性和可维护性。
7. PSR-6:PSR-6是缓存接口,它定义了一个通用的缓存接口,以便在不同的缓存实现之间进行互操作。
这个标准有助于统一缓存的存储和检索操作。
8. PSR-7:PSR-7是HTTP消息接口,它定义了HTTP请求和响应的接口。
这个标准使得PHP代码能够更加方便地处理HTTP请求和响应,并提高了不同框架之间的互操作性。
9. PSR-8:PSR-8是通用类型名,它规定了PHP中通用类型的名称和使用方式。
这个标准有助于统一不同框架和库之间的类型名称,提高代码的可读性和可维护性。
TP开发手册完整版:系统特性ThinkP HP是一个性能卓越并且功能丰富的轻量级PHP开发框架,本身具有很多的原创特性,并且倡导大道至简,开发由我的开发理念,用最少的代码完成更多的功能,宗旨就是让WEB应用开发更简单、更快速。
从1.*版本开始就放弃了对PHP4的兼容,因此整个框架的架构和实现能够得以更加灵活和简单。
2.0版本更是在之前的基础上,经过全新的重构和无数次的完善以及改进,达到了一个新的阶段,足以达到企业级和门户级的开发标准。
ThinkP HP值得推荐的特性包括:✧类库导入:ThinkP HP是首先采用基于类库包和命名空间的方式导入类库,让类库导入看起来更加简单清晰,而且还支持冲突检测和别名导入。
为了方便项目的跨平台移植,系统还可以严格检查加载文件的大小写。
✧URL模式:系统支持普通模式、PATHIN FO模式、REWRIT E模式和兼容模式的URL方式,支持不同的服务器和运行模式的部署,配合URL路由功能,让你随心所欲的构建需要的URL地址和进行SEO优化工作。
✧编译机制:独创的核心编译和项目的动态编译机制,有效减少OOP开发中文件加载的性能开销。
ALLINO NE模式更是让你体验飞一般的感觉。
✧ORM:简洁轻巧的ORM实现,配合简单的CURD以及AR模式,让开发效率无处不在。
✧查询语言:内建丰富的查询机制,包括组合查询、复合查询、区间查询、统计查询、定位查询、动态查询和原生查询,让你的数据查询简洁高效。
✧动态模型:无需创建任何对应的模型类,轻松完成CURD操作,支持多种模型之间的动态切换,让你领略数据操作的无比畅快和最佳体验。
✧高级模型:可以轻松支持序列化字段、文本字段、只读字段、延迟写入、乐观锁、数据分表等高级特性。
1.人才培养目标定位分析《PHP动态网站开发》课程是计算机类专业群中软件开发方向移动web开发模块的一门专业核心课。
该课程的前导课程是《网页设计与开发》、《数据库应用基础》、《JavaScript 程序设计》、《移动web开发》,课程主要任务是在前导课程相关内容基础上,培养学生实现web开发或移动开发服务器端相应功能的能力。
2.创新创业与课程融合情况分析对于教学内容的讲解方式和教学项目的实现方式,主要采用启发引导方式来展开,闯关式的问题设计思路,随时引导学生进行独立思考或者分组讨论,从而学会分析问题与解决问题,在解决问题的过程中碰撞出火花,得以引导学生锻炼创新思想,培养创新意识和创新习惯,提升创新思维能力。
3.课程思政情况分析在教学项目实现过程中,根据项目功能,结合实际网络中的应用,培养学生的爱国情怀,引导学生形成正确的求职观和职业价值观。
通过本课程的学习,使学生系统地学习PHP+MySQL开发动态网站的相关知识,包括PHP基础知识简介、PHP环境搭建、PHP语法基础和表单数据提交,邮箱注册功能实现、邮箱登录功能实现、邮箱写邮件功能实现、接收阅读和打开邮件功能实现以及在线投票与网站计数功能实现,培养学生综合利用所学知识进行创新应用的能力。
(三)参考学分学时本课程6学分,学时96 二、教学条件1.教学做一体化的教室;2.机器内存配置建议>=4G;3. window7及以上操作系统环境4.PHP运行和开发环境5. 极域电子教室传屏软件。
6. 支持外网连接,能够登录职教云平台三、课程教学团队担任本课程的主讲教师需要具有丰富的web前端和后端开发经验,能够独立完成教学项目并且能够解决网站开发过程中出现的常见问题。
四、教学方法1.任务驱动法课程采用任务驱动教学方法、教学做一体化的教学方式。
教学过程以完成邮箱项目功能为主要任务,穿插几个在当前网站中实际使用的在线投票、网站计数和月历的输出案例,帮助学生掌握并提高动态网站开发能力。
一、phpcms 栏目页URL规则的重要性phpcontent management system(phpcms)是一种用于构建和管理全球信息站的内容管理系统。
在全球信息站开发和运营过程中,栏目页URL规则的设计对于全球信息站的搜索引擎优化(SEO)和用户体验至关重要。
二、phpcms 栏目页URL规则的基本要求1. 可读性:URL应该简短、清晰易读,能够直观地反映全球信息站的栏目结构和内容信息。
2. 规范性:URL应该遵循一定的规范,以便于搜索引擎对全球信息站进行抓取和索引。
3. 可维护性:URL设计应该考虑到全球信息站内容的更新和扩展,保证URL的稳定性和可维护性。
三、phpcms 栏目页URL规则的常见设计方式1. 根据栏目名称:将栏目名称作为URL的一部分,例如“/news/”、“/product/”等。
2. 根据栏目ID:将栏目ID作为URL的一部分,例如“/category/1/”、“/category/2/”等。
3. 根据栏目拼音:将栏目名称的拼音作为URL的一部分,例如“/xinwen/”、“/chanpin/”等。
四、phpcms 栏目页URL规则的优化建议1. 采用语义化的URL:将栏目名称或关键词作为URL的一部分,以提高URL的可读性和用户友好性。
2. 统一URL结构:保持栏目页URL的统一结构,便于管理和维护,同时也有利于搜索引擎的抓取和索引。
3. 避免繁琐的URL参数:尽量简化URL参数,避免出现过长或混乱的URL结构,以便提高页面加载速度和用户体验。
4. 遵循SEO最佳实践:根据全球信息站的行业特点和目标受众,结合关键词优化原则,合理设计URL结构和内容规划。
五、phpcms 栏目页URL规则的实际操作1. 登入phpcms后台管理系统,进入“栏目管理”模块。
2. 选择需要设置URL规则的栏目,在“栏目设置”中找到“URL规则”选项。
3. 根据上述设计要求,填写或选择合适的URL规则,并保存设置。
第三课PSR-4加载规范3.1 什么是PSR PSR 是 PHP Standard Recommendations 的简写,由 PHP FIG (框架可互⽤性⼩组)组织制定的 PHP 规范,是 PHP 开发的实践标准。
3.2 为什么需要 项⽬的⽬的在于:通过框架作者或者框架的代表之间讨论,以最低程度的限制,制定⼀个协作标准,各个框架遵循统⼀的编码规范,避免各家⾃⾏发展的风格阻碍了 PHP 的发展,解决这个程序设计师由来已久的困扰。
3.3 PSR包含哪些规范 PSR-0 (Autoloading Standard) ⾃动加载标准 PSR-1 (Basic Coding Standard) 基础编码标准 PSR-2 (Coding Style Guide) 编码风格向导 PSR-3 (Logger Interface) ⽇志接⼝ PSR-4 (Improved Autoloading) ⾃动加载的增强版,可以替换掉PSR-0了。
https:///thinkphp/php-fig-psr/3144 代码规范 这⾥我们着重介绍psr4的⾃动加载规范3.4 psr4加载规范 PSR-4 是关于由⽂件路径⾃动载⼊对应类的相关规范,在不要求改变代码的实现⽅式,只建议如何使⽤⽂件系统⽬录结构和 PHP 命名组织代码。
框架当中的加载的,⼤部分都是遵循此规范 实现psr4规范加载的例⼦:3.5 psr4加载规范详细说明 此处的“类”泛指所有的class类、接⼝、traits可复⽤代码块以及其它类似结构。
⼀个完整的类名需具有以下结构: \<命名空间>(\<⼦命名空间>)*\<类名> 完整的类名必须要有⼀个顶级命名空间,被称为 "vendor namespace"; 完整的类名可以有⼀个或多个⼦命名空间; 完整的类名必须有⼀个最终的类名; 完整的类名中任意⼀部分中的下滑线都是没有特殊含义的; 完整的类名可以由任意⼤⼩写字母组成; 所有类名都必须是⼤⼩写敏感的。
php开发流程PHP开发流程是指在使用PHP进行项目开发时应遵循的一系列步骤和规范。
以下是一个大致的PHP开发流程:1.需求分析首先,需求分析阶段是整个开发流程中最关键的一步。
开发团队和客户共同明确项目的需求,并详细记录下来。
这一步需要充分沟通,确保开发人员对项目有一个明确的理解和预期。
2.设计阶段在设计阶段,开发团队根据需求分析的结果,开始制定系统的设计方案。
包括系统的整体结构设计、数据库设计、界面设计等。
这一步的目标是确保系统的架构合理,能够满足项目的需求。
3.编码阶段编码阶段是将设计方案转化为代码的过程。
开发人员根据设计文档,使用PHP语言编写程序代码。
在编码过程中,应遵循良好的编码规范,并进行相关的代码注释,方便日后的维护和修改。
4.单元测试编码完成后,需要进行单元测试,即对编写的代码进行逐个单元的测试。
通过各种测试用例验证代码的正确性和健壮性。
这一步的目标是尽早发现并解决潜在的问题,保证代码的质量。
5.集成测试在单元测试通过后,需要进行集成测试。
将各个单元模块进行组合,测试各个模块之间的交互和协作。
这一步的目标是保证不同模块之间的兼容性和整体功能的一致性。
6.系统测试系统测试是对整个系统进行全面的测试。
模拟实际用户的使用场景,测试系统的各项功能和性能是否符合要求。
这一步的目标是确保系统可以完全满足用户的需求,并可以稳定运行。
7.部署和上线在经过多轮测试后,如果系统没有问题,则可以进行部署和上线。
将系统部署到线上服务器,并进行全面的测试,确保系统可以正常运行。
这一步的目标是提供给用户可用的系统。
8.维护和优化系统上线后,需要进行日常的系统维护和优化工作。
及时修复和处理用户反馈的问题,并对系统进行优化和扩展,提升系统的性能和稳定性。
这一步是一个持续的过程,需要不断的迭代和改进。
总体来说,PHP开发流程包括需求分析、设计、编码、测试、部署和维护等一系列步骤。
通过规范的流程,可以提高开发效率和代码质量,保证项目的顺利进行和成功上线。
psr标准标题:PSR标准概述及实践指南---**一、引言**PSR是PHP Standards Recommendations的缩写,是由PHP-FIG(PHP Framework Interop Group)制定的一系列PHP编程规范。
这些规范旨在提升PHP项目的可维护性、互操作性和一致性,减少开发者在不同框架和库之间切换时的学习成本,提高团队协作效率。
**二、PSR标准分类**1. **编码规范**:- PSR-1 基础编码规范:定义了PHP代码的基础编码规范,包括类名、文件名、常量命名等。
- PSR-2 编码风格规范:详细规定了PHP代码的格式化规则,如缩进、空格、花括号使用等。
2. **自动加载规范**:- PSR-0 自动加载规范(已废弃):早期定义了如何通过类名或命名空间来定位文件的规范。
- PSR-4 自动加载规范:替代PSR-0,提供了基于命名空间的类自动加载机制。
3. **HTTP消息接口**:- PSR-7 HTTP消息接口:定义了一套统一的HTTP请求和响应对象接口。
4. **HTTP中间件**:- PSR-15 HTTP中间件规范:定义了HTTP中间件接口,方便处理请求和生成响应。
5. **依赖注入容器接口**:- PSR-11 通用容器接口:提供了一个通用的容器接口,用于存储和检索对象实例。
6. **日志接口**:- PSR-3 日志接口:定义了一种通用的日志记录接口以及一套预定义的日志级别。
**三、PSR标准实践**遵循PSR标准,不仅可以使你的项目代码更加整洁、易读,还能使得项目更好地与其他遵循相同规范的第三方库和框架兼容。
例如,在项目中实施PSR-4自动加载规范,可以简化类的加载过程;采用PSR-3日志接口,可以轻松替换不同的日志实现。
对于开发团队而言,应将PSR标准纳入内部编码规范,并在项目初始化阶段就进行严格遵循。
同时,利用自动化工具(如PHP_CodeSniffer, PHP-CS-Fixer 等)对代码进行检查和格式化,能有效保证代码质量并降低人工审查成本。
目录1、编写目的 (4)2、整体要求 (5)3、安全规范 (6)3.1、包含文件 (6)3.1.1、命名规则 (6)3.1.2、存放规则 (6)3.2、安全规则 (7)3.3、一些针对PHP的规则 (8)3.4、其它处理规则 (8)3.4.1、输入参数处理 (8)3.4.2、操作大HTML文本 (8)4、编码规范 (9)4.1、命名规范 (9)4.1.1、变量命名 (9)4.1.2、类命名 (10)4.1.3、方法或函数 (10)4.1.4、缩写词 (11)4.1.5、数据库表名 (11)4.1.6、数据库字段 (11)4.2、书写规则 (11)4.2.1、代码缩进 (12)4.2.2、大括号{}书写规则 (12)4.2.3、小括号()和函数、关键词等 (13)4.2.4、=符号书写 (13)4.2.5、if else swith for while等书写 (13)4.2.6、类的构造函数 (13)4.2.7、语句断行 (14)4.2.8、数字 (14)4.2.9、判断 (15)4.2.10、避免嵌入赋值 (15)4.2.11、错误返回检测规则 (16)4.3、程序注释 (16)4.3.1、程序头注释块 (16)4.3.2、类的注释 (17)4.3.3、函数和方法的注释 (18)4.3.4、变量或者语句注释 (18)4.4、其它规范 (19)4.4.1、PHP代码标记 (19)4.4.2、程序文件名、目录名 (19)4.4.3、PHP项目通常的文件目录结构 (19)4.4.4、PHP和HTML代码的分离问题 (20)4.4.5、PHP项目开发中的程序逻辑结构 (20)5、特定环境下PHP编码特殊规范 (21)5.1、变量定义 (21)5.2、引用的使用 (21)5.3、变量的输入输出 (22)1、编写目的为了更好的提高技术部的工作效率,保证开发的有效性和合理性,并可最大程度的提高程序代码的可读性和可重复利用性,指定此规范。
开发团队根据自己的实际情况,可以对本规范进行补充或裁减。
1、程序员可以了解任何代码,弄清程序的状况;2、新人可以很快的适应环境;3、防止新接触PHP的人出于节省时间的需要,自创一套风格并养成终生的习惯;4、防止新接触PHP的人一次次的犯同样的错误;5、在一致的环境下,人们可以减少犯错的机会;6、程序员们有了一致的敌人;2、整体要求技术部php开发规范将参照PEAR的规范,基本采用PEAR指定的规范,在其基础上增加、修改或删除部分适合具体开发环境的规范。
本规范只针对PHP开发过程中编码的规范,对于PHP开发项目中文件、目录、数据库等方面的规范,将不重点涉及。
本规范包含了PHP开发时程序编码中命名规范、代码缩进规则、控制结构、函数调用、函数定义、注释、包含代码、PHP标记、文件头的注释块、CVS标记、URL样例、常量命名等方面的规则。
3、安全规范当我们尝试编码时,很多时候不知道如何去让自己的代码变得安全一点,因为我们缺乏安全常识,安全常识的规范可以帮你杜绝一些日常的菜鸟黑客的攻击,却不能阻止骨灰级专家们的凌厉攻势,所以更高深的安全我们还得从其他途径学习。
3.1、包含文件PHP文件的包含在通过PHP的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入。
3.1.1、命名规则提取出来具有通用函数的包含文件,文件后缀以 .inc 来命名,表明这是一个包含文件。
如果有多个 .inc 文件需要包含多页面,请把所有 .inc 文件封装在一个文件里面,具体到页面只需要包换一个 .inc 文件就可以了。
如: xxx_session.inc 、 xxx_comm.inc 、 xxx_setting.inf 、myssql_db.inc 。
把以上文件以以下方式,封装在 xxx.basic.inc 文件里面:注意:是否需要封装到一个文件,视情况而定,如果每个 inc 的功能是分散到不同的页面使用的话,就不建议封装。
3.1.2、存放规则一般包含文件不需要直接暴露给用户,所以应该放在 Web Server 访问不到的目录,避免因为配置问题而泄露设置信息。
3.2、安全规则请参考产品安全检查表。
输入和输出:检查是否做了HTML代码的过滤可能出现的问题:如果有人输入恶意的HTML代码,会导致窃取cookie, 产生恶意登录表单,和破坏网站。
检查变量做数据库操作之前是否做了 escape可能出现的问题:如果一个要写入查询语句的字符串变量包含了某些特殊的字符,比如引号(',")或者分号(;) 可能造成执行了预期之外的操作。
建议采用的方法:使用 mysql_escape_string() 或实现类似功能的函数。
检查输入数值的合法性可能出现的问题:异常的数值会造成问题。
如果对输入的数值不做检查会造成不合法的或者错误的数据存入UDB、存入其它的数据库或者导致意料之外的程序操作发生。
举例:如果程序以用户输入的参数值做为文件名,进行文件操作,恶意输入系统文件名会造成系统损毁。
核实对cookie的使用以及对用户数据的处理可能出现的问题:不正确的cookie使用可能造成用户数据泄漏。
访问控制对内部使用的产品或者供合作方使用的产品,要考虑增加访问控制。
logs确保用户的保密信息没有记在log中(例如:用户的密码);确保对关键的用户操作保存了完整的用户访问记录。
https对敏感数据的传输要采用https。
3.3、一些针对PHP的规则设置 register_globals = off ;设置 error_reporting = E_ALL ,并且要修正所有的 error 和warning ;将实际的操作放在被引用的文件中。
把引用文件放到不可以被直接浏览的目录下。
register_globals 已自 PHP 5.3.0 起废弃并将自 PHP 5.4.0 起移除。
3.4、其它处理规则其它处理规则3.4.1、输入参数处理页面接到参数需要SQL操作,这时候需要做转义,尤其需要注意“'”。
如:这种情况出现错误的不确定性。
3.4.2、操作大HTML文本很多时候需要存放一大段HTML文本供页面使用,象用户定制页头页脚等。
需要剔除脚本标记,避免执行恶意php代码。
转换“<”“>”号,保证代码完整 HTML 文本。
4、编码规范对代码文件及代码进行规范化。
4.1、命名规范制定统一的命名规范对于项目开发来说非常重要,不但可以养成程序员一个良好的开发习惯,还能增加程序的可读性、可移植性和可重用性,还能很好的提高项目开发的效率。
4.1.1、变量命名**变量命名分为普通变量、静态变量、局部变量、全局变量、Session变量等方面的命名规则。
1.普通变量普通变量命名遵循以下规则:a.所有字母都使用小写;b.对于一个变量使用多个单词的,使用 _ 作为每个词的间隔。
例如: $base_dir 、 $red_rose_price 等。
2.静态变量静态变量命名遵循以下规则:a.静态变量使用小写的 s_ 开头;b.静态变量所有字母都使用小写;c.多个单词组成的变量名使用 _ 作为每个词的间隔。
例子: $s_base_dir 、 $s_red_rose_prise 等。
3.局部变量局部变量命名遵循以下规则:a.所有字母使用小写;b.变量使用 _ 开头;c.多个单词组成的局部变量名使用 _ 作为每个词间的间隔。
例子: $_base_dir 、 $_red_rose_price 等。
4.全局变量全局变量应该带前缀 G_ 且所有字母大写,知道一个变量的作用域是非常重要的。
例如:5.全局常量全局变量命名遵循以下规则:a.所有字母使用大写;b.全局变量多个单词间使用 _ 作为间隔。
例子:6.session变量session变量命名遵循以下规则:a.所有字母使用大写;b.session变量名使用 S_ 开头;c.多个单词间使用 _ 间隔。
例子: $S_BASE_DIR 、 $S_RED_ROSE_PRICE 等。
4.1.2、类命名PHP中类命名遵循以下规则:a.以大写字母开头;b.多个单词组成的变量名,单词之间不用间隔,各个单词首字母大写。
例子: class MyClass 或 class DbOracle 等。
4.1.3、方法或函数方法或函数命名遵循以下规则:a.首字母小写;b.多个单词间不使用间隔,除第一个单词外,其他单词首字母大写。
例子: function myFunction() 或 function myDbOracle() 等。
4.1.4、缩写词当变量名或者其他命名中遇到缩写词时,参照具体的命名规则,而不采用缩写词原来的全部大写的方式。
例子: function myPear (不是myPEAR) functio getHtmlSource (不是getHTMLSource)。
4.1.5、数据库表名数据库表名命名遵循以下规范:a.表名均使用小写字母;b.对于普通数据表,使用 _t 结尾;c.对于视图,使用 _v 结尾;d.对于多个单词组成的表名,使用 _ 间隔;例子: user_info_t 和 book_store_v 等。
4.1.6、数据库字段数据库字段命名遵循以下规范:a.全部使用小写;b.多个单词间使用 _ 间隔。
例子: user_name 、 rose_price 等。
4.2、书写规则书写规则是指在编写 PHP 程序时,代码书写的规则,包括缩进、结构控制等方面规范。
4.2.1、代码缩进在书写代码的时候,必须注意代码的缩进规则,我们规定代码缩进规则如下:a.使用4个空格作为缩进,而不使用tab缩进(对于 ultraedit ,可以进行预先设置)。
例子:4.2.2、大括号{}书写规则在程序中进行结构控制代码编写,如 if 、 for 、 while 、 switch 等结构,大括号传统的有两种书写习惯,分别如下:a. { 直接跟在控制语句之后,不换行,如:b. { 在控制语句下一行,如:其中,a是 PEAR 建议的方式,但是从实际书写中来讲,这并不影响程序的规范和影响用phpdoc 实现文档,所以可以根据个人习惯来采用上面的两种方式,但是要求在同一个程序中,只使用其中一种,以免造成阅读的不方便。
为了统一书写,请使用 a 的书写方式。
4.2.3、小括号()和函数、关键词等小括号、关键词和函数遵循以下规则:a.不要把小括号和关键词紧贴在一起,要用一个空格间隔;如 if( $a<$b ) ;b.小括号和函数名间没有空格;如 $test = date("ymdhis") ;c.除非必要,不要在 Return 返回语句中使用小括号。