| name | php-project-guide |
| description | Foundational PHP project knowledge for AI agents. Use when working on a PHP project, setting up a PHP development environment, understanding PHP project structure, following PHP coding standards, running PHP tests, using Composer, or when guidance on PHP-specific tools and workflows in PhpStorm is needed. |
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 |