SuperAPI AI 工具集

php-guidelines-from-spatie

通用与其它

查看项目

更新于 10-15 21:47

技能介绍

用途:这是一套 PHP 与 Laravel 编码规范,用于统一团队代码风格,提升可维护性与可读性。核心原则是优先遵循 Laravel 官方约定,只有在有明确理由时才偏离。

主要能力:PHP 标准方面要求遵循 PSR-1、PSR-2、PSR-12,非对外字符串用 camelCase,可空类型用 ?string 而非 string|null,无返回值方法必须声明 void。类结构上使用类型化属性而非 docblock,条件允许时用构造函数属性提升,每个 trait 单独一行。类型声明与 docblock 方面,可迭代对象用泛型标注,如 /** @return Collection<int, User> */;docblock 中始终用 use 导入类名,不用完全限定名;多类型时最常见类型放前面;可迭代对象必须标注键和值类型;固定键用 array shape 且每键一行。控制流要求正常路径放最后、错误条件先处理,避免 else 用提前返回,把含 && 的复合条件拆成嵌套 if,即使单语句也用花括号。

Laravel 约定:路由 URL 用 kebab-case,路由名用 camelCase,参数用 camelCase,控制器用 [Controller::class, 'method'] 元组写法;控制器用复数资源名并坚持 CRUD 方法,非 CRUD 动作另建控制器;配置文件用 kebab-case、键用 snake_case,服务配置加到 config/services.php,用 config() 而非在配置外使用 env();Artisan 命令名用 kebab-case,需提供反馈与进度,输出放在处理之前。

其他规则:字符串优先插值而非拼接;枚举值用 PascalCase;对注释保持克制,代码应自解释,仅在解释非显而易见的“为什么”时加注释,测试中不加注释;验证规则用数组写法,自定义规则用 snake_case;Blade 用 4 空格缩进,控制结构后不加空格;授权策略用 camelCase,用 view 代替 show;翻译用 __() 而非 @lang;API 路由用复数资源名与 kebab-case,限制深层嵌套;测试遵循 arrange-act-assert,辅助函数放在测试块之后。命名上类用 PascalCase,方法变量用 camelCase,迁移只写 up 方法。

限制:资料未提供安装命令、版本要求、收费或平台信息,暂未提供。