Laravel框架开发规范-修订前期版
1.追加App/Models目录,App/User.php迁移至App/Models目录中
①配置内容属于架构信息、服务器信息、有必要隐藏无法提交git的信息,请使用.env文件配合env()方法进行设定(.env.example中必须添加对应的字段和示例)
②属于业务逻辑的常量内容,或可以提交到git无需隐藏的部分配置类信息,直接在定义代码处使用环境判断函数判断环境后将所有值都写入代码中。
除了由后台管理员或者程序生成的富文本使用{!! !!},其余输出必须使用{{ }}或{{{ }}}
laravel5.0起,默认{{ }}是会进行html_filter处理的,可以避免XSS攻击
PHP代码文件 必须 以 <?php
或 <?=
标签开始;
PHP代码文件 必须 以 不带 BOM 的 UTF-8
编码
类的命名 必须 遵循 StudlyCaps
大写开头的驼峰命名规范;
类中的常量所有字母都 必须 大写,单词间用下划线分隔;
方法名称 必须 符合 camelCase
式的小写开头驼峰命名规范。
根据规范,每个类都独立为一个文件,且命名空间至少有一个层次:顶级的组织名称(vendor name)。
代码 必须 使用4个空格符而不是「Tab 键」进行缩进。使用空格缩进,让对齐变得更方便。
每行的字符数 应该 软性保持在 80 个之内,理论上 一定不可 多于 120 个,但 一定不可 有硬性限制
每个 namespace
命名空间声明语句和 use
声明语句块后面,必须 插入一个空白行。
类的开始花括号({
) 必须 写在函数声明后自成一行,结束花括号(}
)也 必须 写在函数主体后自成一行
方法的开始花括号({
) 必须 写在函数声明后自成一行,结束花括号(}
)也 必须 写在函数主体后自成一行
类的属性和方法 必须 添加访问修饰符(private
、protected
以及 public
),abstract
以及final
必须 声明在访问修饰符之前,而 static
必须 声明在访问修饰符之后
控制结构的关键字后 必须 要有一个空格符,而调用方法或函数时则 一定不可 有。
控制结构的开始花括号({
) 必须 写在声明的同一行,而结束花括号(}
) 必须 写在主体后自成一行
控制结构的开始左括号后和结束右括号前,都 一定不可 有空格符
所有PHP文件 必须 以一个空白行作为结束。
纯PHP代码文件 必须 省略最后的 ?>
结束标签。
非空行后 一定不可 有多余的空格符。
空行 可以 使得阅读代码更加方便以及有助于代码的分块。
每行 一定不可 存在多于一条语句
PHP所有 关键字 必须 全部小写。常量 true
、false
和 null
也 必须 全部小写。
所有 use
必须 在 namespace
后声明。
关键词 extends
和 implements
必须 写在类名称的同一行。implements
的继承列表也 可以 分成多行,这样的话,每个继承接口名称都 必须 分开独立成行,包括第一个。
一定不可 使用关键字 var
声明一个属性。
每条语句 一定不可 定义超过一个属性。
不该 使用下划线作为前缀,来区分属性是 protected 或 private。
不该 使用下划线作为前缀,来区分方法是 protected 或 private。
方法名称后 一定不可 有空格符,其开始花括号 必须 独占一行,结束花括号也 必须 在方法主体后单独成一行。参数左括号后和右括号前 一定不可 有空格。
参数列表中,每个逗号后面 必须 要有一个空格,而逗号前面 一定不可 有空格
有默认值的参数,必须 放到参数列表的末尾
参数列表 可以 分列成多行,这样,包括第一个参数在内的每个参数都 必须 单独成行。
方法及函数调用时,方法名或函数名与参数左括号之间 一定不可 有空格,参数右括号前也 一定不可 有空格。每个参数前一定不可 有空格,但其后 必须 有一个空格。
应该 使用关键词 elseif
代替所有 else if
,以使得所有的控制关键字都像是单独的一个词。
MySQL字段:小写、下划线(snake-case)
1) 单行注释:在语句结尾用双反斜杠”// “注释
2) 多行注释:多行注视以“/**”符号开头,以”*/ “符号作为注释结束符。
文件注释
/**
* 详细的功能描述(可略)
*
* @copyright Copyright© 2016, 公司名称
* @author zongshuai
* @Date: 16/7/15
* @Time: 下午5:45
*/
方法或函数注释
/**
* 设备出库记录列表接口
*
* @param 类型 $fields 描述
* @param 类型 $fields 描述
* @return 类型 描述
*/
属性注释
/**
* 描述
*
* @var 类型
*/
Laravel框架开发规范-修订前期版的更多相关文章
- Laravel框架开发规范-修订版
1.PHP编码规范 1.1 标签 PHP 程序可以使用<?php ?>或<?= ?>来界定PHP代码 在HTML 页面中嵌入纯变量时,使用<?= ?>这样的形式 纯 ...
- 转:Laravel 项目开发规范
文件介绍很好 值得细细看看 https://www.jianshu.com/p/e464a35e5ed2 https://learnku.com/docs/laravel-specification/ ...
- 【转】Android 开发规范(完结版)
摘要 1 前言 2 AS 规范 3 命名规范 4 代码样式规范 5 资源文件规范 6 版本统一规范 7 第三方库规范 8 注释规范 9 测试规范 10 其他的一些规范 1 前言 为了有利于项目维护.增 ...
- 使用laravel框架开发接口时ajax post请求报错419
nginx服务器,使用laravel框架开发后台接口.get请求正常,但是post请求一直报错.H5和APP都不成功,code=419. 解决办法: 找到 VerifyCsrfToken.php文件( ...
- 每天一点点之laravel框架开发 - API通过access_token获取用户id报 Unauthenticated. 错误(passport)
1.首先保证你的config/auth.php 中 guards 的 api 的 driver 选项改为 passport 2.注册中间件,在 app/Http/Kernel.php 文件中的 $ro ...
- 每天一点点之laravel框架开发 - Laravel5.6去除URL中的index.php
在项目routes/web.php文件中添加了自定义的路由后,访问localhost/index.php/aaa,可以正常访问,但是去掉index.php后,提示404 Not Found 1. 按照 ...
- Laravel 项目开发规范
参考:https://fsdhub.com/books/laravel-specification
- 每天一点点之laravel框架开发 - passport授权报invalid_credentials
{"error":"invalid_credentials","message":"The user credentials we ...
- 【转】Android开发规范
转自:https://github.com/Blankj/AndroidStandardDevelop 摘要 1 前言 2 AS 规范 3 命名规范 4 代码样式规范 5 资源文件规范 6 版本统一规 ...
随机推荐
- PAT乙级1002. 写出这个数 (20)
读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10100. 输出格式:在一行内输出n的各位数字之和的每 ...
- 图片翻转(Raw Image)
int TransformImageBuffer(unsigned char* pImageBuffer, int width, int height,unsigned char* targetIma ...
- sql第二天
--基本格式 select * from tblclass --对于列进行限制 --格式一:取指定列 select cid,cname from TblClass select cname from ...
- 用PhotoSwipe制作相册,手势可放大
1.引入css和js <link href="css/photoswipee.css" rel="stylesheet" type="text/ ...
- Linux Samba服务主配文件smb.conf中文详解
从网上找到描述比较详细的smb.conf中文解释: 服务名:smb 配置目录:/etc/sabma/ 主配置文件:/etc/sabma/smb.conf #====================== ...
- 【Python之路】第五篇--Python基础之杂货铺
字符串格式化 Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存. 1.百分号方式 ...
- Myeclipse启动错误
问题描述: Errors occurred during the build.Errors running builder 'DeploymentBuilder' on project 'szoa'. ...
- iOS 打包上传AppStore相关(3)-iTunes相应配置以及使用蒲公英网站进行应用托管分发(链接/二维码)
上一篇讲到我们最终生成了一个格式为 .xcarchive 的文件(可以右键并Show in Finder)查看.本篇我们就进行最后的设置,打包上传.另外,还有一个小福利,那就是打测试包分发链接测试. ...
- MD5的Hash长度扩展攻击
Hash长度扩展攻击 引子 无意中碰到一道题,大概代码是这样的 $flag = "XXXXXXXXXXXXXXXXXXXXXXX"; $secret = "XXXXXXX ...
- NS_ASSUME_NONNULL_BEGIN 延伸
NS_ASSUME_NONNULL_BEGIN和NS_ASSUME_NONNULL_END 在.h文件中,可以看到这两个宏,翻看定义,这两个宏的代码是 #define NS_ASSUME_NONNUL ...