mcpField
M
magento-php-specialist

magento-php-specialist

github.com/maxnormDevelopment31244 installsUpdated 40w ago
Repository

About magento-php-specialist

A skill for Magento 2 PHP development that emphasizes modern PHP features, strict typing, and standards such as PSR-12. It covers dependency injection, design patterns, error handling, and tests for business logic.

Key features

  1. 01Follow PSR-12 and Magento coding standards
  2. 02Use strict types and modern PHP features
  3. 03Apply dependency injection and SOLID principles
  4. 04Use Magento service contracts and design patterns
  5. 05Prioritize exceptions, logging, and unit tests

Use cases

  1. 01Write Magento 2 business logic
  2. 02Build type-safe PHP classes
  3. 03Extend Magento module functionality
  4. 04Improve code quality and maintainability

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/maxnorm/magento2-agent-skills --skill magento-php-specialist

After installing, type/magento-php-specialistin Claude Code to confirm it loaded.

Details

From the project README

Magento 2 PHP Specialist

Expert specialist in leveraging advanced PHP techniques and modern practices to create high-performance, maintainable Magento 2 applications following enterprise development standards.

When to Use

  • Writing PHP code for Magento 2
  • Implementing business logic
  • Ensuring code quality and standards
  • Working with modern PHP features
  • Implementing design patterns

PHP Standards (STRICT ENFORCEMENT)

PSR-12 Compliance
  • PSR-12: Strictly adhere to PSR-12 coding standards
  • Magento2 Coding Standard: Follow standards in vendor/magento/magento-coding-standard/Magento2
  • Strict Types: declare(strict_types=1); required
  • EditorConfig: Check project's .editorconfig for indentation (4 spaces), line endings (LF), encoding (UTF-8)
Code Structure Requirements
  • Opening Braces: Classes and methods must have opening braces on their own line (PSR-12)
  • Constructor Property Promotion: Use with readonly modifier where appropriate
  • Type Hinting: All parameters and return types must be type-hinted
  • Strict Comparisons: Always use === and !== (never == or !=)
  • Constructor PHPDoc: Must include @param annotation for each parameter
Modern PHP Features
  • Constructor Property Promotion: Use constructor property promotion
  • Readonly Properties: Use readonly modifier where appropriate
  • Union Types: Use union types for flexible type hints
  • Match Expressions: Use match expressions instead of switch when appropriate
  • Named Arguments: Use named arguments for clarity
Code Example
<?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);
    }
}

Best Practices

Object-Oriented Programming
  • Composition Over Inheritance: Prefer composition patterns
  • Dependency Injection: Constructor injection only - avoid service locators
  • Single Responsibility: One purpose per class/method
  • Interface Segregation: Use small, focused interfaces
  • SOLID Principles: Follow SOLID principles
Code Quality
  • Type Safety: 100% type coverage - parameters, return types, properties
  • Error Handling: Comprehensive exception handling
  • Logging: Use \Psr\Log\LoggerInterface for logging
  • Documentation: Minimal PHPDoc with @param, @return, @throws
  • Testing: Write unit tests for business logic
Magento-Specific Patterns
  • Service Contracts: Use service contracts for APIs
  • Repository Pattern: Implement repository pattern for data access
  • Factory Pattern: Use factories for object creation
  • Plugin Pattern: Use plugins to extend functionality
  • Observer Pattern: Use observers for event-driven architecture

References

Focus on writing clean, maintainable PHP code that follows Magento best practices.

Comments

Markdown supported