设为首页 收藏本站
查看: 466|回复: 0

[经验分享] PHP代码样式

[复制链接]

尚未签到

发表于 2017-3-4 11:48:47 | 显示全部楼层 |阅读模式
如果使用第三方框架,并且有提供代码样式说明,则遵循其代码样式标准,否则如下!
== 格式:
* 使用UTF-8编码
* 使用4个空格缩进,禁止使用Tab
* Unix样式换行符(LF)
* 在逗号、冒号和分号操作符使用空格
* 在 (,[ 后面、],) 前面不使用空格
* 在代码块中使用4个空格缩进
* 采用层级缩进
* 在return方法的返回值前使用空行(除非只有一行代码)以及在两个方法中使用空行区分
* 在两个大的逻辑代码段之间使用空行区分
* 保持行字数在80字以内,最多不超过120
* 使用标准的PHP标签定界,禁止使用短标签(<? //... ?>),对于只包含有PHP代码的文
件,禁止使用PHP结束标志("?>"),文件末尾使用注释说明"/* End of file <filename.php> */"
* 单行代码也必须使用分号(;)结束
== 命名:
* 文件名使用snake_case方式,禁止使用臃肿的文件名
* 变量名使用snake_case方式,禁止使用臃肿的变量名
  * 禁止使用单字符做为局部变量(如$i),在for循环中除外
  * 禁止使用大写字母做为全局变量,如使用大写字母,应使用SCREAMING_SNAKE_CASE方式
* 类名使用CamelCase方式,方法名使用camelCase方式(保持像HTTP,RFC,XML缩写词的大写)
* 常量名使用SCREAMING_SNAKE_CASE方式

// bad
superclass.php
SuperClass.php
superClass.php
$i = "foobar";  // 单字符变量只充许使用在for循环中
$bufferdText   // 驼峰式变量,并且意思可以再精简些
$groupid        // 两个单词之间需要下划线分开
$name_of_last_city_used // 太长
MyConstant       // 应该用下划线并且字母没有全大写
N                     // 单字符
S_C_VER           // 意思不清楚
class superclass
class superClass
function fileproperties() // 意思不清楚并且没有驼峰式命名
function fileProperties() // 意思不清楚
function getfileproperties() // 好些了,但没有驼峰式命名
// good
super_class.php
for ($i = 0; $i < 10; $i++)
$buffer
$group_id
$last_city
MY_CONSTANT
NEWLINE
SUPER_CLASS_VERSION
class SuperClass
function getFileProperties()


== 语法:
对于嵌入HTML中的PHP代码,对于像if, for, foreach, while等代码块,采用if: ... endif; for: ... endfor; foreach: ... endforeach;以及 while: ... endwhile;方法块

...
<?php if ($user->isLoggedIn()): // checking logged in ?>
<!-- HTML goes here. -->
<?php endif; // end checking logged in ?>
<?php foreach ($users as $user): // loop users ?>
<!-- HTML goes here. -->
<?php endforeach; // end loop users ?>
...


== 注释:
* 文档块必须和phpDocumentor格式兼容,请参考: http://phpdoc.org/
* 避免多余的意见

/**
* 控制器类说明信息
*/
class Controller {
private static $instance;
public function __construct()  {
...
}
/**
* 函数说明信息
*/
public static function &get_instance() {
...
}
/* End of file controller.php */


== 其他:
* 保持代码简单
* 保持一致性

参考:CodeIgniter,ZendFramework,Wordpress等
http://codeigniter.com/user_guide/general/styleguide.html
http://framework.zend.com/manual/zh/coding-standard.coding-style.html
http://codex.wordpress.org/WordPress_Coding_Standards
其他
Github https://github.com/styleguide
HTML/CSS 代码样式(英文)
http://google-styleguide.googlecode.com/svn/trunk/htmlcssguide.xml
Javascript 代码样式(英文)
http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml
Ruby 样式参见(英文) https://github.com/chneukirchen/styleguide/blob/master/RUBY-STYLE

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-350160-1-1.html 上篇帖子: php 生成xml 下篇帖子: php 开发
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表