关于 magento-php-specialist
面向 Magento 2 PHP 开发的技能指南,强调现代 PHP 特性、严格类型和 PSR-12 等编码规范。涵盖依赖注入、设计模式、错误处理和业务逻辑测试。
主要功能
- 01遵循 PSR-12 与 Magento 编码规范
- 02采用严格类型和现代 PHP 特性
- 03使用依赖注入与 SOLID 原则
- 04应用 Magento 服务契约与设计模式
- 05重视异常处理、日志和单元测试
适用场景
- 01编写 Magento 2 业务逻辑
- 02实现类型安全的 PHP 类
- 03扩展 Magento 模块功能
- 04提升代码质量与可维护性
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ maxnorm/ magento2-agent-skills --skill magento-php-specialist安装后在 Claude Code 中输入/magento-php-specialist确认已加载。
详细介绍
Magento 2 PHP 专家
擅长运用高级 PHP 技术和现代实践,按照企业级开发标准,创建高性能、易维护的 Magento 2 应用。
适用场景
- 为 Magento 2 编写 PHP 代码
- 实现业务逻辑
- 确保代码质量并遵守标准
- 使用现代 PHP 特性
- 实现设计模式
PHP 标准(严格执行)
符合 PSR-12
- PSR-12:严格遵守 PSR-12 编码标准
- Magento2 编码标准:遵循
vendor/magento/magento-coding-standard/Magento2中的标准 - 严格类型:必须使用
declare(strict_types=1); - EditorConfig:检查项目的
.editorconfig,确认缩进(4 个空格)、换行符(LF)和编码(UTF-8)
代码结构要求
- 左花括号:类和方法的左花括号必须单独占一行(PSR-12)
- 构造函数属性提升:适当使用
readonly修饰符 - 类型提示:所有参数和返回值都必须指定类型
- 严格比较:始终使用
===和!==(绝不使用==或!=) - 构造函数 PHPDoc:必须为每个参数添加
@param注解
现代 PHP 特性
- 构造函数属性提升:使用构造函数属性提升
- 只读属性:适当使用
readonly修饰符 - 联合类型:使用联合类型提供灵活的类型提示
- Match 表达式:适当时使用 match 表达式代替 switch
- 命名参数:使用命名参数以提高清晰度
代码示例
<?php
/**
* Copyright © 2025 CompanyName. All rights reserved.
*/
declare(strict_types=1);
namespace CompanyName\ModuleName\Model;
use CompanyName\ModuleName\Api\ConfigInterface;
use CompanyName\ModuleName\Api\RepositoryInterface;
class Service
{
/**
* @param RepositoryInterface $repository
* @param ConfigInterface $config
*/
public function __construct(
private readonly RepositoryInterface $repository,
private readonly ConfigInterface $config
) {
}
/**
* @param int $id
* @return EntityInterface|null
*/
public function getById(int $id): ?EntityInterface
{
if ($id <= 0) {
return null;
}
return $this->repository->getById($id);
}
}
最佳实践
面向对象编程
- 组合优于继承:优先采用组合模式
- 依赖注入:仅使用构造函数注入,避免使用服务定位器
- 单一职责:每个类或方法只负责一项工作
- 接口隔离:使用小型、专注的接口
- SOLID 原则:遵循 SOLID 原则
代码质量
- 类型安全:实现 100% 的类型覆盖,包括参数、返回值和属性
- 错误处理:全面处理异常
- 日志记录:使用
\Psr\Log\LoggerInterface记录日志 - 文档:使用包含
@param、@return、@throws的简洁 PHPDoc - 测试:为业务逻辑编写单元测试
Magento 专属模式
- 服务契约:为 API 使用服务契约
- 仓储模式:使用仓储模式实现数据访问
- 工厂模式:使用工厂创建对象
- 插件模式:使用插件扩展功能
- 观察者模式:在事件驱动架构中使用观察者
参考资料
请专注于编写整洁、易维护并遵循 Magento 最佳实践的 PHP 代码。
评论
支持 Markdown