SuperAPI AI Directory

php-project-guide

Coding & development

View repository

Updated 10-16 09:10

About this skill

PHP Project Guide

Foundational knowledge for working effectively on any PHP project in PhpStorm. Provides project detection, coding standards, testing patterns, framework guidance, and MCP tool usage.

Quick Start: First Interaction with a PHP Project

Run these steps when encountering a new PHP project for the first time.

1. Detect PHP environment

get_php_project_config()

Returns the configured PHP language level, interpreter details (name, path, local/remote), and runtime information (exact PHP version, loaded extensions, php.ini path, debuggers). Use this to understand the PHP environment before generating code.

2. Identify dependencies and framework

get_composer_dependencies()

This returns all installed packages with exact versions from composer.lock. Use it to determine:

  • Framework: laravel/framework, symfony/framework-bundle, or neither
  • Test framework: phpunit/phpunit, pestphp/pest, codeception/codeception
  • Static analysis: phpstan/phpstan, vimeo/psalm
  • Code style: friendsofphp/php-cs-fixer, squizlabs/php_codesniffer

Use the optional nameFilter glob parameter to search for specific packages (e.g., nameFilter: "laravel/*").

3. Route to framework-specific guidance

Dependency Project Type Reference
laravel/framework Laravel See references/framework-laravel.md
symfony/framework-bundle Symfony See references/framework-symfony.md
Neither Generic PHP See references/php-standards.md

PhpStorm MCP Tools Quick Reference

Code Analysis

Tool When to Use
get_inspections After edits, for code review, to find problems with available quick fixes
apply_quick_fix To resolve inspection problems automatically
get_file_problems Quick error/warning check on any file type (no quick fixes returned)
build_project Trigger project build and get compilation errors

Code Search

Tool When to Use
search_structural To find code patterns semantically using SSR (requires fileType: "PHP")
get_structural_patterns To discover predefined PHP search patterns by category
search_text Fast text substring search across project files
search_regex Regex search across project files with match coordinates
search_symbol Semantic symbol lookup (classes, methods, fields)
search_file Find files by glob pattern
find_files_by_name_keyword Fast file search by name substring (uses indexes)
find_files_by_glob Find files matching glob pattern recursively

Code Intelligence

Tool When to Use
get_symbol_info Get Quick Documentation for a symbol at a specific position
rename_refactoring Safely rename a symbol across the entire project
get_php_project_config Get PHP language level, interpreter, extensions, runtime info
get_composer_dependencies Understand project dependencies, framework, and versions

File Operations

Tool When to Use
read_file Read file with advanced modes (slice, lines, offsets, indentation)
get_file_text_by_path Read full file text by project-relative path
replace_text_in_file Targeted find-and-replace in files
create_new_file Create new files with content
reformat_file Apply IDE code formatting rules

Execution

Tool When to Use
get_run_configurations List available run/test configurations
execute_run_configuration Run a specific configuration and get results
execute_terminal_command Run shell commands in IDE terminal

See references/mcp-tools-reference.md for detailed parameters and usage patterns.

Documentation Lookup

When you need documentation beyond what these references provide:

Reference Documents

Reference Content
references/project-detection.md composer.json anatomy, PSR-4 autoloading, directory layouts
references/php-standards.md PER/PSR coding standards, PHP version features, anti-patterns
references/testing-guide.md PHPUnit, Pest, running tests, common mistakes
references/framework-laravel.md Laravel directory structure, Eloquent, artisan, routes
references/framework-symfony.md Symfony directory structure, Doctrine, console, services
references/static-analysis.md PHPStan, Psalm, PHP CS Fixer, PHP CodeSniffer
references/composer-guide.md Composer commands, version constraints, autoloading
references/mcp-tools-reference.md Detailed PhpStorm MCP tool parameters and workflows