PSR规范
phper如何编写高可读性的代码?我自己总结了日常开发中的一点心得,希望能帮助大家。大概有12点,废话不多说,直接上代码。
1.关键字规范
2.类名用大驼峰,方法名用小驼峰,变量名用下划线隔开
3.类属性和方法名
4.类常量
5.控制结构书写规范
6.方法规范
7.类的实例化
8.函数和类里面的方法名定义是,左边的大括号必须要独占一行.比如
<?php
namespace think\Cache;
use think\Controller;
class UserType
{
public $user_pwd = 'weqw';
public function userEat($id, $username = 'zwl')
{
$ni = '231';
if ($ni === true) {
return true;
}
}
public static function userSleep()
{
$this->userEat();
}
public function userTalk()
{
self::userSleep();
}
}
9.常量和env文件
常量用大写加下划线隔开。方法的参数或者函数的参数,如果是两个以上,第二个参数,在前一个参数的逗号,要用空格隔开。比如
protected function assign($name, $value = '')
{
$this->view->assign($name, $value);
return $this;
}
10.接口例子
@return 的类型
大概有:json,object,array,void,static(静态变量,return self::$instance),bool,mixed
/**
* 递归给上级发放动态奖金
* @access public
* @param int $uid 用户id
* @param mixed $pid 父级id
* @param array $data 数据
* @return bool
* @throws $e
* @Author 夜雨闻铃
*/
public function demo()
{
try {
$post = $this->request->post();
$fundid = trim($post['id']);
$passwd = trim($post['dealPass']);
if (empty($passwd) || strlen($passwd) != 6) {
return returnJson(Status::FAILED,Lang::get('pwd_error'));
}
// 验证交易密码是否正
$is_true = password_verify($passwd, $this->user['deal_pwd']);
if (!$is_true) {
return returnJson(Status::FAILED, Lang::get('pwd_error'));
}
Db::startTrans();
Db::commit();
return returnJson(Status::SUCCESS,Lang::get('buy_success'));
}
catch (\Exception $e) {
Db::rollback();
errorLog($this->action, $e);
return returnJson(Status::SYSTEM_ERROR, Lang::get('system_error'));
}
}
11.函数的书写例子
if (!function_exists('input')) {
/**
* 获取输入数据 支持默认值和过滤
* @param string $key 获取的变量名
* @param mixed $default 默认值
* @param string $filter 过滤方法
* @return mixed
*/
function input($key = '', $default = null, $filter = '')
{
}
}
12.代码注释
用/…/注释代替//注释。下面上代码观看效果。
/*$post = $this->request->post();
$fundid = trim($post['id']);
$passwd = trim($post['dealPass']);
if (empty($passwd) || strlen($passwd) != 6) {
return returnJson(Status::FAILED,Lang::get('pwd_error'));
}*/
//$post = $this->request->post();
//$fundid = trim($post['id']);
//$passwd = trim($post['dealPass']);
//if (empty($passwd) || strlen($passwd) != 6) {
//return returnJson(Status::FAILED,Lang::get('pwd_error'));
//}
还有其他需要改进的编码规范,欢迎指正,一起进步!!!如需转载此原创文章,注明一下我这个原作者即可。