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 版本统一规 ...
随机推荐
- IOS Android支持中文与本地文件的读取写入
转自http://www.xuanyusong.com/archives/1069 和http://www.benmutou.com/archives/2094 前几天有个朋友问我为什么在IOS平台中 ...
- java 调用打印机 打印服务
import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import javax ...
- 关于sbutils中的sblaunch插件的疑惑
一.sbutils介绍 sbutils是一个开源的越狱手机基础功能的插件包,其中包含sblaunch这个启动插件,该插件可以实现命令行下面打开app并传递一个url. sbutils下载地址:http ...
- Flexslider图片轮播、文字图片相结合滑动切换效果
Flexslider是一款基于的jQuery内容滚动插件.它能让你轻松的创建内容滚动的效果,具有非常高的可定制性.开发者可以使用Flexslider轻松创建各种图片轮播效果.焦点图效果.图文混排滚动效 ...
- ntp升级
1. 系统与软件版本 1.1 系统版本 CentOS6.5 x86_64 1.2 ntpd软件版本 ntp-4.2.8p9.tar.gz 1.3 下载地址 官方下载地址:http://support. ...
- iOS 打包上传AppStore相关(2)-Xcode相应配置
上一篇描述了如何在AppleDeveloper创建Certificates.App IDs和Provisioning Profiles的过程.本篇将详细描述在Xcode部分我们需要做的配置. 1.配置 ...
- appium元素定位及操作
1.测试用例准备 数据准备 前提条件 操作步骤 预期结果 2.TestNG 用例组织:@Test @Before Class 结果验证:Assert 数据驱动:@DataProvide ...
- ios 点击放大图片,保存至手机相册
直接贴.m文件代码 #import "UIImageView+Scale.h" static CGRect oldframe; @implementation UIImageVie ...
- 寒假学干货之------初步布局Layout
在开发的最初,需要设计好我们的Activity,在res/layout下,找到**activitymian(名字都差不多的)的.xml文件,打开他就可以开始编辑. http://www.tuicool ...
- [折腾纪实]JAVA的坑
开贴记录使用JAVA踩的坑-- P.S. 学习编程最好的方法就是用一个贴心的IDE写,然后隔着屏幕都能感觉到IDE在骂自己SB-- Overridable method calls in constr ...