PHP - Yii2编码规范/风格[PSR-1/PSR-2]
编码规范还是要了解的,但是有时候太多记不住/记不全,所以更好的解决方案是通过插件/脚本
1. 自动化工具
StyleCI // https://styleci.io/
如果你的代码格式不是很完美,不必担心,StyleCI会在提交代码时自动为我们修正代码风格以保持和 Laravel 仓库代码一致,从而让我们更加专注于代码内容而非风格。2. vscode插件
PHP Intelephense - Visual Studio Marketplace // PHP Intelephense
文档阅读
PSR-11- 学习/实践_穿素白衫的中少年的博客-CSDN博客
PSR-1-basic-coding-standard
PSR-2-coding-style-guide
1.综述
总的来说,我们使用的是与PSR-2兼容的样式,所以应用于PSR-2的所有内容也应用于我们的代码样式。 备注: [红色的文字表示个人要注意的地方] 文件必须使用<?php或< ?=标记。 上面是PSR-1 https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md |
2.文件
2.1 PHP标签 2.2 字符编码 |
3.类名
类名必须用StudlyCaps【即大驼峰原则】声明 例如,控制器,模型 |
4.类
术语“类”指这里的所有类和接口。 /** 4.1 常量类常量必须在所有带有下划线分隔符的大写字母中声明。例如: <?php 4.2 属性当声明public类成员时,显式地指定public关键字 私有变量也应该在类的顶部声明,但是如果它们只与类方法的一小部分相关,则可以在处理它们的方法之前添加。// 这个还真是不太清楚,请谨记 应该在不同的可见性组之间添加一行空白。// 有时候便是如此做,但是不总是如此。 私有变量应该像$_varName那样命名。// 总是以为是个别人只管如此,然后okay, 受保护的属性不可以_开头? TBD 例如
4.3 方法函数和方法的命名应该使用首字母小写的camelCase
4.4 PHPDoc块 【注释块】@param、@var、@property和@return必须声明类型为bool、int、string、array或null。您还可以使用类名,如Model或ActiveRecord。
4.5 构造函数应该使用_construct而不是PHP 4风格的构造函数 |
5.PHP
5.1 类型所有PHP类型和值都应该使用小写。这包括true、false、null和array。//好吧,有时候NULL会用大写,改正
5.2 字符串如果字符串不包含变量或单引号,则使用单引号 // 这个是从性能上考虑的,单引号执行速度更快
[单双引号的各有适用场景,具体见两者的区别] 如果字符串包含单引号,可以使用双引号来避免额外的转义。 变量替换 [Variable substitution]
以下内容是不允许的:
连接
当字符串很长时,格式如下: // 了解了
5.3 数组对于数组,我们使用PHP 5.4短数组【即[ ]】语法。
在声明数组时使用以下格式:
如果一行有太多的元素: // 更多的是用于书写配置时
关联
5.4 控制语句控件语句条件必须在圆括号前后各有一个空格 // 有时候会如此
更应该避免在return之后使用 else。使用 guard conditions // [涉及的写法,确实困惑过,还是有点困惑]
Replace Nested Conditional with Guard Clauses【用保护子句替换嵌套条件句】
开关[switch子句]
5.5 函数调用
5.6 匿名函数(lambda)声明注意 function/use 令牌和开括号之间的空格:
文档 [再说][均可以借助IDE模仿来写,而且有时候也不是必须要写的] 有关文档语法,请参考phpDoc。
File
Class
Function / method
Markdown 【省略】 Comments【注释】
额外规则【Additional rules】
多个返回点 【multiple return points】
self vs. static
用于“不要做某事”的值 【value for "don't do something"】
目录/命名空间名称【Directory/namespace names】
|
6.参考
https://github.com/yiisoft/yii2/blob/master/docs/internals/core-code-style.md // Yii 2 Core Framework Code Style |
后续补充
...
PHP - Yii2编码规范/风格[PSR-1/PSR-2]相关推荐
- php psr 编码规范_PHP编码风格规范
由于PHP的灵活性,很多人写起代码来也不讲求一个好的代码规范,使得本就灵活的PHP代码看起来很乱,其实PSR规范中的PSR-1和PSR-2已经定义了在PHP编码中的一些规范,只要我们好好遵守这些规范, ...
- 阿里php开发规范,【PHP开发规范】老生常谈的PSR开发规范你懂多少?
这几天看了一下阿里技术发布的一套Java开发规范<阿里巴巴Java开发手册>,里面写了阿里内部的Java开发规范标准,写的很好.这套Java统一规范标准将有助于提高行业编码规范化水平,帮助 ...
- PHP标记风格,编码规范
PHP标记风格 PHP一共支持4种标记风格 <?php echo "这是XML风格的标记"; ?> 脚本风格 <script language="php ...
- Java编码规范--命名风格
编码规范指的是本身这么写没什么问题,但不建议这么写. 1.代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束. //错误示例 String _name,__name ...
- Java 编码规范1(编程规约-命名风格)
编程规约-命名风格 其它相关文章 Java 编码规范1(编程规约-命名风格) Java 编码规范2(编程规约-常量定义) Java 编码规范3(编程规约-代码格式) Java 编码规范4(编程规约-O ...
- PHP编码规范(中文版)
PHP编码规范(中文版)导读 本文档是PHP互操作性框架制定小组(PHP-FIG :PHP Framework Interoperability Group)制定的PHP编码规范(PSR:Propos ...
- 《阿里巴巴编码规范(JAVA)》学习认证考后感
image.png <阿里巴巴 Java 开发手册>是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一线实战的检验及不断完善,系统化地整理成册,回馈给广大开发者. 本手册的 ...
- Python最简编码规范
0.前言 本文是阅读<Python Coding Rule>之后总结的最为精华及简单的编码规范,根据每个人不同喜好有些地方会有不同的选择,我只是做了对自己来说最简单易行的选择,仅供大家参考 ...
- 分享GitHub上一位老外的嵌入式C编码规范(收藏细读)
简 介: 本文分析在头条上分享GitHub上一位老外的嵌入式C编码规范(收藏细读):嵌入式大杂烩. 关键词: 嵌入式,C语句,编程规范 分享GitHub上一位老外的嵌入式C编码规范(收藏细读) §01 ...
最新文章
- 神马搜索上线奥运会人气榜单 中国女排包揽前三
- PHP学习笔记4:字符串与正则
- Hungtingdon road surgery
- Android面试题(五) --重要
- SQL基础【五、Where】
- Spring 3.0参考之SpEL
- Android Weekly Notes Issue #225
- python2和python3的默认编码_Python2和Python3中的字符串编码问题解决
- log4j.dtd_Eclipse log4j.xml –无法将log4j.dtd验证为XML定义
- linux大一实验报告,linux实验报告
- Ubuntu安装:解决Unable to locate package *** 问题
- 《CoderXiaoban》第九次团队作业:Beta冲刺与验收准备1
- iOS YYKit理解
- movielens 1m 的mysql_MovieLens电影数据分析
- 中兴代工移动光猫GM620开启telnet
- 《富爸爸穷爸爸》书摘-为什么要教授财务知识
- python语言发展历史
- [Android]天气App 1
- Python编码,解码问题
- 计算机地质模拟,地质过程计算机模拟.ppt