PHP开发规范手册之PHP代码规范详解


Posted in PHP onJanuary 13, 2011

涉及多个方面,比如PHP代码规范、PHP文件命名规范、网站开发流程、网站安全与维护等。
作为PHP开发规范的开篇,我从一个纯PHP开发者的角度来说说我所认为的PHP代码规范,主要从PHP目录框架结构、PHP代码书写规范、PHP文件命名规范三个角度来阐述,希望对PHP入门学习者有所帮助。
合理建设PHP目录框架结构

我们知道在使用PHP进行网站开发之前,我们需要建设网站的目录结构,网站目录框架结构设计得合理规范,不但有利于网站开发,而且对SEO,网站推广都有好处。

一般最基础的PHP网站结构涉及图片、CSS文件、JS文件、第三方组件、管理后台等内容,相对应的,基础的PHP目录框架结构也涉及这些内容,这些目录命名时也有规范,比如

图片目录:images或者pic

CSS目录:css

JS目录:js

第三方组件目录:libs或者include,下一级目录可以根据具体的组件名定义目录名

管理目录:一般都是admin,单位了安全起见,你可以另起一个目录名或者对admin目录设置密码保护。如何对访问目录设置密码保护?

特别提醒:对于网站的框架目录结构,事先要做好规划,为了对搜索引擎友好便于网站推广,建议目录结构层次不要太深,二三级目录结构就可以了。

另外如果你采用模板,可以创建模板目录,比如将目录命名为tpl,如果使用第三方模板引擎,比如smarty,你可以根据需要自行决定是否要另设目录。PHP基础教程:Smarty安装教程

对于中等规模的网站,你也可以根据网站功能划分网站目录框架结构,比如按照频道等。

PHP文件命名规范

良好的PHP文件命名规范也是PHP开发规范的要素,有助于记忆,便于管理,PHP网站程序文件的命名也有一定的规则,比如

PHP网站首页文件命名规范:index.php或index.html

CSS文件命名规范:主CSS文件命名为style.css,另外你也可以针对具体的模块或者频道命名,比如用于用户的CSS文件,可以定义为user_style.css或者u_style.css

JS文件命名规范:主JS文件命名为main.js或major.js,其他的JS文件命名,你可以根据具体的页面或者特定的对象命名,比如首页JS文件可以命名为index.js,服务于用户登录的JS文件可以命名为user_login.js等。

网站配置文件命名规范:config.php或default_config.php等

文件命名特别提醒:在对PHP文件进行命名时考虑到可移植性,一律请使用小写命名,另外与网站目录名命名一样,文件命名时可以采用两种方式,一种可以使用拼音命名具体的文件,一种可以使用简单明了的英语单词命名文件,切勿随便命名,导致今后维护混乱。

PHP代码书写规范

良好的PHP代码规范,有助于PHP入门学习者从你写的PHP代码中受益,也有助于你今后的代码维护。

1、对于所写的PHP代码,添加必要的代码注释,同时代码注释要规范,更多基础PHP代码书写规范,请参考PHP基本语法教程

2、保持良好的PHP代码书写规范,合理使用缩进,保持代码美观。

3、使用赋值符时变量名、赋值符、值之间以空格分隔,即

<? 
$leapsoulcn = "欢迎访问PHP网站教程网,此节主要介绍PHP开发规范之PHP代码规范"; 
?>

4、在书写if、switch、函数代码时,务必保持大括号匹配,即
<? 
if(){ 
...... 
} 
?>

或者
<? 
if() 
{ 
...... 
} 
?>

5、命名变量名或者函数名时注意代码书写规范,可以使用拼音、英语单词、缩写等形式,推荐以英语单词作为PHP代码命名规范,对于两个单词以上的以下划线连接或者其中一个单词首字母大写的形式,即
<? 
$web_name = "PHP网站开发教程网"; 
$webUrl = "https://3water.com"; 
function userLogin() 
{ 
} 
?>

以上就是基础的PHP代码规范,对于PHP初学者学习PHP会有所帮助。养成良好的PHP代码规范会让开发者受益一生。

至此,PHP开发规范手册之PHP代码规范就介绍完了,良好的网站框架目录构建能力、PHP文件命名规范和PHP代码书写规范需要自己在不断的开发中积累和养成,同时这些开发规范也有助于伙伴之间的合作,有助于PHP入门学习者学习你的PHP代码。

PHP 相关文章推荐
PHP 作用域解析运算符(::)
Jul 27 PHP
判断Keep-Alive模式的HTTP请求的结束的实现代码
Aug 06 PHP
php数组函数序列之array_pop() - 删除数组中的最后一个元素
Nov 07 PHP
浅析linux下apache服务器的配置和管理
Aug 10 PHP
从PHP的源码中深入了解stdClass类
Apr 18 PHP
smarty模板引擎从php中获取数据的方法
Jan 22 PHP
PHP strtotime函数用法、实现原理和源码分析
Feb 04 PHP
MySql数据库查询结果用表格输出PHP代码示例
Mar 20 PHP
PHP的Yii框架中View视图的使用进阶
Mar 29 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
Dec 29 PHP
Laravel中encrypt和decrypt的实现方法
Sep 24 PHP
Laravel框架实现超简单的分页效果示例
Feb 08 PHP
PHP JSON格式数据交互实例代码详解
Jan 13 #PHP
PHP学习笔记之二 php入门知识
Jan 12 #PHP
php算开始时间到过期时间的相隔的天数
Jan 12 #PHP
php数据库密码的找回的步骤
Jan 12 #PHP
重新封装zend_soap实现http连接安全认证的php代码
Jan 12 #PHP
php 变量未定义等错误的解决方法
Jan 12 #PHP
兼容性比较好的PHP生成缩略图的代码
Jan 12 #PHP
You might like
PHP脚本的10个技巧(5)
2006/10/09 PHP
php基础知识:类与对象(3) 构造函数和析构函数
2006/12/13 PHP
php xml文件操作代码(一)
2009/03/20 PHP
jQuery EasyUI API 中文文档 - DateBox日期框
2011/10/15 PHP
thinkphp实现数组分页示例
2014/04/13 PHP
php+iframe 实现上传文件功能示例
2020/03/04 PHP
拖动一个HTML元素
2006/12/22 Javascript
JavaScript Event学习第七章 事件属性
2010/02/07 Javascript
理清apply(),call()的区别和关系
2011/08/14 Javascript
使用jquery制作弹出框效果
2015/04/03 Javascript
Bootstrap嵌入jqGrid,使你的table牛逼起来
2016/05/05 Javascript
详解Angular如何正确的操作DOM
2018/07/06 Javascript
解决Vue.js父组件$on无法监听子组件$emit触发事件的问题
2018/09/12 Javascript
vue 列表页跳转详情页获取id以及详情页通过id获取数据
2019/03/27 Javascript
详解jQuery如何实现模糊搜索
2019/05/10 jQuery
JavaScript展开操作符(Spread operator)详解
2019/07/20 Javascript
vue+element-ui+axios实现图片上传
2019/08/20 Javascript
在Koa.js中实现文件上传的接口功能
2019/10/08 Javascript
JS+canvas五子棋人机对战实现步骤详解
2020/06/04 Javascript
Python最长公共子串算法实例
2015/03/07 Python
python 使用re.search()筛选后 选取部分结果的方法
2018/11/28 Python
python time.sleep()是睡眠线程还是进程
2019/07/09 Python
Python下opencv图像阈值处理的使用笔记
2019/08/04 Python
python批量读取文件名并写入txt文件中
2020/09/05 Python
Python类如何定义私有变量
2020/02/03 Python
python函数enumerate,operator和Counter使用技巧实例小结
2020/02/22 Python
python实现引用其他路径包里面的模块
2020/03/09 Python
win7上tensorflow2.2.0安装成功 引用DLL load failed时找不到指定模块 tensorflow has no attribute xxx 解决方法
2020/05/20 Python
HTML5之SVG 2D入门13—svg对决canvas及长处和适用场景分析
2013/01/30 HTML / CSS
床上用品全球在线购物:BeddingInn
2016/12/18 全球购物
如何利用cmp命令比较文件
2016/04/11 面试题
过程装备与控制工程专业个人的求职信
2013/12/01 职场文书
青年创业培训欢迎词
2014/01/08 职场文书
生产文员岗位职责
2014/04/05 职场文书
幼儿园大班教育随笔
2015/08/14 职场文书
mysql 索引合并的使用
2021/08/30 MySQL