From 1b59cab0e1ce714fc9189ec5a68bee0b3d9924da Mon Sep 17 00:00:00 2001 From: zyimm Date: Fri, 9 Jun 2023 14:59:21 +0800 Subject: [PATCH] php code fix --- _posts/编程/PHP/standard.md | 325 ++++++++++++++++++++++++++++++++++++ 1 file changed, 325 insertions(+) create mode 100644 _posts/编程/PHP/standard.md diff --git a/_posts/编程/PHP/standard.md b/_posts/编程/PHP/standard.md new file mode 100644 index 0000000..b47759f --- /dev/null +++ b/_posts/编程/PHP/standard.md @@ -0,0 +1,325 @@ +--- +title: PHP代码统一规范规则细节 +date: 2023-06-09 +tags: PHP +--- +# 规则Rule + +## PHPDoc + +1. 变量以及属性的辅助注解.方便IDE跳转和追踪 + +```php + 'tom', + 'c' => 'sevne', + 'd'=> 'mazda', + 'b' =>'cross m78 unm', +] +# 修改后 +$arr = [ + 'a' => 'tom', + 'c' => 'sevne', + 'd' => 'mazda', + 'b' => 'cross m78 unm', +] + +``` + +## 代码约束 + +1. declare_strict 严格声明 +主要解决程序在处理类型时候避免隐性转换 + +```php +declare(strict_types=1); +//code .... + +``` + +2. 使用常量`PHP_EOL`替代 `"\n"` 换行符号 + +```php + + echo "some thing \n"; + echo "some thing PHP_EOL"; + +``` + +3. 声明函数必须使用`function_exists`包裹判断,避免函数重复声明 + +```php +if (!function_exists('dd')) { + /** + * dd 调试 + * + * @param ...$vars + * + * @return void + */ + function dd(...$vars) + { + foreach ($vars as $v) { + VarDumper::dump($v); + } + exit(1); + } +} +``` + +1. 函数或类的方法没有返回类型需要声明`void`类型 + +```php +function foo(string $a): void {} + + +class Foo +{ + public function handle(): void; + { + //code ... + } +} +``` + +5. 命名空间导入,导入或完全限定全局类/函数/常量 + +```php +