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手册及PHP编程标准
Dec 17 PHP
php数据入库前清理 注意php intval与mysql的int取值范围不同
Dec 12 PHP
那些年我们错过的魔术方法(Magic Methods)
Jan 14 PHP
thinkphp实现面包屑导航(当前位置)例子分享
May 10 PHP
解决cPanel无法安装php5.2.17
Jun 22 PHP
php和editplus正则表达式去除空白行
Apr 17 PHP
PHP基于文件存储实现缓存的方法
Jul 20 PHP
Zend Framework入门教程之Zend_View组件用法示例
Dec 09 PHP
PHP中Trait及其应用详解
Feb 14 PHP
laravel5.6中的外键约束示例
Oct 23 PHP
php post换行的方法
Feb 03 PHP
PHP使用POP3读取邮箱接收邮件的示例代码
Jul 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 用checkbox一次性删除多条记录的方法
2010/02/23 PHP
PHP中的错误处理、异常处理机制分析
2012/05/07 PHP
PHP邮件群发机实现代码
2016/02/16 PHP
php获取是星期几的的一些常用姿势
2019/12/15 PHP
Thinkphp 框架基础之源码获取、环境要求与目录结构分析
2020/04/27 PHP
javascript 动态数据下的锚点错位问题解决方法
2008/12/24 Javascript
javascript动画对象支持加速、减速、缓入、缓出的实现代码
2012/09/30 Javascript
JQuery实现表格中相同单元格合并示例代码
2013/06/26 Javascript
jquery validate 自定义验证方法介绍 日期验证
2014/02/27 Javascript
浅谈JS日期(Date)处理函数
2014/12/07 Javascript
node.js中的http.response.removeHeader方法使用说明
2014/12/14 Javascript
jQuery实现单击弹出Div层窗口效果(可关闭可拖动)
2015/09/19 Javascript
JavaScript字符串对象
2017/01/14 Javascript
JS实现中国公民身份证号码有效性验证
2017/02/20 Javascript
原生JS实现隐藏显示图片 JS实现点击切换图片效果
2021/01/27 Javascript
通过命令行创建vue项目的方法
2017/07/20 Javascript
详谈commonjs模块与es6模块的区别
2017/10/18 Javascript
jQuery实现文本显示一段时间后隐藏的方法分析
2019/06/20 jQuery
Python基于scapy实现修改IP发送请求的方法示例
2017/07/08 Python
Python使用遗传算法解决最大流问题
2018/01/29 Python
python数据归一化及三种方法详解
2019/08/06 Python
tensorflow多维张量计算实例
2020/02/11 Python
python plt可视化——打印特殊符号和制作图例代码
2020/04/17 Python
python实现二分类和多分类的ROC曲线教程
2020/06/15 Python
Pytest如何使用skip跳过执行测试
2020/08/13 Python
HTML5页面中尝试调起APP功能
2017/09/12 HTML / CSS
美国工业用品采购网站:Zoro.com
2020/10/27 全球购物
工程造价专业大学生自荐信
2013/10/01 职场文书
银行职员思想汇报
2013/12/31 职场文书
党的群众路线教育实践活动剖析材料
2014/09/30 职场文书
2014年财务工作总结范文
2014/11/11 职场文书
小学中队活动总结
2015/05/11 职场文书
六五普法先进个人主要事迹材料
2015/11/03 职场文书
mysql创建存储过程及函数详解
2021/12/04 MySQL
SpringDataJPA实体类关系映射配置方式
2021/12/06 Java/Android
使用CSS自定义属性实现骨架屏效果
2022/06/21 HTML / CSS