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往windows中添加用户
Dec 06 PHP
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
Nov 10 PHP
PHP类与对象中的private访问控制的疑问
Nov 01 PHP
php中通过curl检测页面是否被百度收录
Sep 27 PHP
YII实现分页的方法
Jul 09 PHP
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别
Nov 20 PHP
Codeigniter发送邮件的方法
Mar 19 PHP
PHP获取不了React Native Fecth参数的解决办法
Aug 26 PHP
php封装的单文件(图片)上传类完整实例
Oct 18 PHP
PHP小程序支付功能完整版【基于thinkPHP】
Mar 26 PHP
PHP如何开启Opcache功能提升程序处理效率
Apr 27 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
YII Framework框架教程之安全方案详解
2016/03/14 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
2016/09/26 PHP
PHP解决中文乱码
2017/04/28 PHP
laravel 修改.htaccess文件 重定向public的解决方法
2019/10/12 PHP
javascript 验证日期的函数
2010/03/18 Javascript
jQuery选中select控件 无法设置selected的解决方法
2010/09/01 Javascript
jquery live()重复绑定的解决方法介绍
2014/01/03 Javascript
浅谈JavaScript字符串拼接
2015/06/25 Javascript
浅谈js的异步执行
2016/10/18 Javascript
Javascript下拉刷新的简单实现
2017/02/14 Javascript
React-Native中禁用Navigator手势返回的示例代码
2017/09/09 Javascript
JS实现按钮添加背景音乐示例代码
2017/10/17 Javascript
详解Vue中使用插槽(slot)、聚类插槽
2019/04/12 Javascript
layui 对table中的数据进行转义的实例
2019/09/12 Javascript
Node.js控制台彩色输出的方法与原理实例详解
2019/12/01 Javascript
JS面试题中深拷贝的实现讲解
2020/05/07 Javascript
vue键盘事件点击事件加native操作
2020/07/27 Javascript
[01:28:56]2014 DOTA2华西杯精英邀请赛 5 24 CIS VS DK
2014/05/26 DOTA
Python中使用PIL库实现图片高斯模糊实例
2015/02/08 Python
Python编程生成随机用户名及密码的方法示例
2017/05/05 Python
详解如何用OpenCV + Python 实现人脸识别
2017/10/20 Python
python如何发布自已pip项目的方法步骤
2018/10/09 Python
python利用7z批量解压rar的实现
2019/08/07 Python
详解如何用HTML5 Canvas API控制图片的缩放变换
2016/03/22 HTML / CSS
基于canvas使用贝塞尔曲线平滑拟合折线段的方法
2018/01/10 HTML / CSS
台湾乐天市场:日本No.1的网路购物网站
2017/03/22 全球购物
有模特经验的简历自我评价
2013/09/19 职场文书
日本语毕业生自荐信
2014/02/01 职场文书
竞选村长演讲稿
2014/04/28 职场文书
毕业生求职信范文
2014/06/29 职场文书
保险专业求职信
2014/07/07 职场文书
幼儿园大班毕业评语
2014/12/31 职场文书
六一亲子活动感想
2015/08/07 职场文书
优化经济发展环境工作总结
2015/08/11 职场文书
看古人们是如何赞美老师的?
2019/07/08 职场文书
vue中利用mqtt服务端实现即时通讯的步骤记录
2021/07/01 Vue.js