1.PHP编码规范

  1.1 标签

    PHP 程序可以使用<?php ?>或<?= ?>来界定PHP代码

    在HTML 页面中嵌入纯变量时,使用<?= ?>这样的形式

    纯PHP类文件,文件开始标签使用<?php,闭合标签?>必须省略

  1.2 编码

    PHP文件必须使用无BOM的UTF-8编码方式

  1.3 注释

    单行注释:在语句后面使用“//”注释

    多行注释:如下,注意换行

文件注释
/**
* 描述
*
* @copyright Copyright&copy; 2016, 公司名称
* @author zongshuai
* @Date: 16/7/15
* @Time: 下午5:45
*/ 方法或者函数注释
/**
* 描述
*
* @param 类型 $fields 描述
* @param 类型 $fields 描述
* @return 类型 描述
*/ 属性注释
/**
* 描述
*
* @var 类型
*/

  1.4 命名规则

    类:文件名和类名必须一致,切采用首字母大写的驼峰命名法

    函数和方法:采用首字母小写的驼峰命名法,尽量用有意义,描述性的词语来命名,用checkForErrors()代替errorCheck(),用dumpDataToFile()代替dataFile()。

    变量名:

       用有意义的,描述性的词语来命名变量

       别用缩写。用name, address, salary 等代替 nam, addr, sal   全局变量以”g_” 开头

       别使用单个字母的变量象i, n, x 等. 使用 index, temp 等

       和前端交互的变量名全部用小写加下划线命名

    常量名:全部使用大写字母和下滑线组成,常量的名称中不允许出现小写字母,可使用分隔符作为下划线

  1.5 书写规则

    所有 PHP 文件必须以一个空行结束

    行实际长度不应超过 80 个字符;较长的行应当被拆分成多个不超过80 个字符的后续行。

    空行可以用来改善可读性和区分相关的代码块

    一行不应多于一个语句

    每个缩进的单位约定是4 个空格的缩进,并且不可使用制表符作为缩进,建议使用PhpStrom编辑器

    每个运算符与两边参与运算的值或表达式中间要有一个空格

    在绝大多数可以使用单引号的场合,禁止使用双引号(性能考虑)

    PHP所有关键字必须全部小写。常量 true 、false 和 null 也 必须 全部小写

    类的开始花括号({) 必须 写在函数声明后自成一行,结束花括号(})也 必须 写在函数主体后自成一行

    方法的开始花括号({) 必须 写在函数声明后自成一行,结束花括号(})也 必须 写在函数主体后自成一行

    方法名在声明之后不可跟随一个空格。左括号后面不可有空格,右括号前面不可有空格

    关键词 extends 和 implements 必须 写在类名称的同一行。implements 的继承列表也 可以 分成多行,这样的话,每个继承接口名称都 必须 分开独立成行,包括第一个

    类的属性和方法 必须 添加访问修饰符(privateprotected 以及 public),abstract 以及final 必须 声明在访问修饰符之前

    而 static 必须 声明在访问修饰符之后

    如果存在abstract 和final 声明必须放在可见性声明前面

    一定不可 使用关键字 var 声明一个属性。

    每条语句 一定不可 定义超过一个属性

    在参数列表中,逗号之前不可有空格,逗号之后必须要有一个空格

    方法中有默认值的参数必须放在参数列表的最后面

    参数列表可以被分为多个有一次缩进的多个后续行。如果这么做,列表的第一项必须放在下一行,并且每行必须只放一个参数。

    当参数列表被分为多行,右括号和左花括号必须夹带一个空格放在一起自成一行。

2.数据库命名规范

  2.1命名规范

Laravel框架开发规范-修订版的更多相关文章

  1. Laravel框架开发规范-修订前期版

    1.追加App/Models目录,App/User.php迁移至App/Models目录中 ①配置内容属于架构信息.服务器信息.有必要隐藏无法提交git的信息,请使用.env文件配合env()方法进行 ...

  2. 转:Laravel 项目开发规范

    文件介绍很好 值得细细看看 https://www.jianshu.com/p/e464a35e5ed2 https://learnku.com/docs/laravel-specification/ ...

  3. 使用laravel框架开发接口时ajax post请求报错419

    nginx服务器,使用laravel框架开发后台接口.get请求正常,但是post请求一直报错.H5和APP都不成功,code=419. 解决办法: 找到 VerifyCsrfToken.php文件( ...

  4. 每天一点点之laravel框架开发 - API通过access_token获取用户id报 Unauthenticated. 错误(passport)

    1.首先保证你的config/auth.php 中 guards 的 api 的 driver 选项改为 passport 2.注册中间件,在 app/Http/Kernel.php 文件中的 $ro ...

  5. 每天一点点之laravel框架开发 - Laravel5.6去除URL中的index.php

    在项目routes/web.php文件中添加了自定义的路由后,访问localhost/index.php/aaa,可以正常访问,但是去掉index.php后,提示404 Not Found 1. 按照 ...

  6. Laravel 项目开发规范

    参考:https://fsdhub.com/books/laravel-specification

  7. 每天一点点之laravel框架开发 - passport授权报invalid_credentials

    {"error":"invalid_credentials","message":"The user credentials we ...

  8. php的laravel框架使用心得

    最近在做一项目,是基于laravel的后台api,用于与手机交互的,数据采用json格式.下面说下怎样在两周内把一个新框架或者语言用的得心应手. 项目采用laravel5.4+dingoapi+jwt ...

  9. laravel框架应用和composer扩展包开发

    laravel5.5+ laravel官方地址 laravel是目前最流行的php框架,发展势头迅猛,应用非常广泛,有丰富的扩展包可以应付你能想到的各种应用场景,laravel框架思想前卫,跟随时代潮 ...

随机推荐

  1. 基于React Native的58 APP开发实践

    React Native在iOS界早就炒的火热了,随着2015年底Android端推出后,一套代码能运行于双平台上,真正拥有了Hybrid框架的所有优势.再加上Native的优秀性能,让越来越多的公司 ...

  2. trove,测试,db小解析

    # Copyright 2014 Tesora Inc.# All Rights Reserved.## Licensed under the Apache License, Version 2.0 ...

  3. sql第一天

    关系数据库中的关系指的就是表 table 表   Column 列   Field 字段   Row 行 非空约束  not null 主键约束(PK)primary key constraint 唯 ...

  4. 多线程随笔二(Task)

    Task类是.net 4.0新加进来的特性,对原有的Thread,ThreadPool做了进一步的封装,使得.net平台上的多线程编程变得更加方便.废话不多说,进入正题. 一. Task启动 Task ...

  5. 关于scanf()函数的一点理解

    习惯了c++的cin.cout之后,也不怎么关注空格,反正cin.cout会自动处理.有一次实验,创建Huffman树,要求输入空格字符,当时就懵逼了.cin咋输入空格呢? 没办法,只能重新用scan ...

  6. Java版求1000以内的完全数

    /* * 若一个自然数,它所有的真因子(即除了自身以外的约数)的和恰好等于它本身,这种数叫做完全数,简称完数. * 例如:6=1+2+3. * 题目:求1000以内的完全数. */ public cl ...

  7. Linux 服务器系统监控脚本 Shell【转】

    转自: Linux 服务器系统监控脚本 Shell - 今日头条(www.toutiao.com)http://www.toutiao.com/i6373134402163048961/ 本程序在Ce ...

  8. Linux安装mysql mysql5.5.40 <NIOT>

    一.    操作系统与软件 操作系统及版本 Centos 6.4 依赖包 gcc.gcc-c++.cmake.ncurses-devel 下载目录 /opt Mysql安装目录 /usr/local/ ...

  9. underScore学习1:匿名函数中call(this)的作用

    匿名函数中(function(){}).call(this) 中的.call(this) 有什么用? 我们都知道,.call()可以改变函数执行时的context,即this的指向,源码中的.call ...

  10. Maven+STS工程中Maven Dependencies 文件夹丢失问题

    在我们使用Maven+sts工程中偶尔会出现这种情况: Maven Dependencies文件夹在新打开的工程中丢失,造成 web project 自动编译出错,缺少必要的库文件: 如下图所示的情况 ...