PHP Tools
July 3, 2026 ยท View on GitHub
A comprehensive extension for PHP development in Visual Studio Code that boosts productivity with smart code generation and framework-specific tooling.
Key Features
1. Getter/Setter Generation

Automatically generate getters and setters for class properties with configurable options:
- Supports both traditional and fluent (return $this) setter styles
- Configurable PHPDoc generation
- Multiple generation strategies (single/multiple properties at once)
Commands:
Advanced PHP Tools: Insert getterAdvanced PHP Tools: Insert setterAdvanced PHP Tools: Insert getter and setterAdvanced PHP Tools: Insert getter (Master)Advanced PHP Tools: Insert setter (Master)Advanced PHP Tools: Insert getter and setter (Master)
2. Class/Object Generation

Quickly scaffold various PHP constructs with proper syntax and structure:
- Regular, abstract and final classes
- Interfaces and traits
- Enums (PHP 8.1+)
- Automatic namespace detection
- Configurable strict types declaration
Commands:
Advanced PHP Tools: Generate classAdvanced PHP Tools: Generate abstract classAdvanced PHP Tools: Generate final classAdvanced PHP Tools: Generate enumAdvanced PHP Tools: Generate interfaceAdvanced PHP Tools: Generate trait
3. PHPDoc Generation

Intelligent documentation generation with customizable formatting:
- Function/method documentation
- Property documentation
- One-line
@varPHPDoc for local variables - Configurable empty lines and spacing
- Return type and
@throwsannotation support - Improved exception import handling in generated PHPDoc
- Support for properties with hooks and methods with attributes
- Description generation options
Commands:
Advanced PHP Tools: Generate PHPDoc(default keybind:Ctrl+Enter)Advanced PHP Tools: Generate PHPDoc (Master)
4. Constructor Generation

Convert class properties to constructor arguments with:
- Automatic type inference
- Property promotion support (PHP 8.0+)
- Configurable line length formatting
- PHPDoc generation options
Command:
Advanced PHP Tools: Generate class constructor
5. String Conversion
Convert PHP string expressions under the cursor between concatenation, sprintf(...), and double-quoted interpolation.
Commands:
Advanced PHP Tools: Convert string to concatenationAdvanced PHP Tools: Convert string to sprintfAdvanced PHP Tools: Convert string to interpolation
Examples:
Convert string to concatenation:
// Before
$message = sprintf('Hello %s!', $name);
// After
$message = 'Hello ' . $name . '!';
Convert string to sprintf:
// Before
$message = 'Hello ' . $name . '!';
// After
$message = sprintf('Hello %s!', $name);
Convert string to interpolation:
// Before
$message = 'Hello ' . $name . '!';
// After
$message = "Hello {$name}!";
6. Symfony Framework Support
Specialized tools for Symfony development:
-
Service configuration navigation (jump between
services.yamland class declaration)
-
Quick access to service definitions

-
Twig template navigation

7. Yii2 Framework Support
Specialized tools for Yii2 development:
-
Service configuration navigation (jump from configuration to class)

-
Quick access to service definitions (jump from class to configuration)

-
View template navigation from controller

Configuration Options
Customize the extension behavior through these settings:
advanced-php-tools.builder-strict-types- Adddeclare(strict_types=1)(default:true)advanced-php-tools.builder-generate-phpdoc- Generate objects with phpdoc (default:false)advanced-php-tools.setter-return-self- Make setters return$thisfor fluent interfaces (default:false)advanced-php-tools.getter-setter-generate-phpdoc- Generate phpdoc for getter/setter (default:true)advanced-php-tools.phpdoc-function-show-description- Add descriptions to function docs (default:false)advanced-php-tools.phpdoc-property-show-description- Add description to property PHPDoc (default:false)advanced-php-tools.phpdoc-constant-show-description- Add description to constant PHPDoc (default:false)advanced-php-tools.phpdoc-function-return-void- Add return to PHPDoc if returns void (default:false)advanced-php-tools.phpdoc-empty-lines-after-description- Control spacing after descriptions (default:0)advanced-php-tools.phpdoc-empty-lines-before-return- Add empty lines before return in PHPDoc (default:0, ignored when return is hidden or there are no params)advanced-php-tools.phpdoc-empty-lines-before-throws- Add empty lines before throws in PHPDoc (default:0, ignored when there are no throws)advanced-php-tools.phpdoc-show-throws-on-diff-lines- Format throws on separate lines (default:true)advanced-php-tools.constructor-args-one-line-max-length- Line length threshold for single-line constructors (default:120)
Keyboard Shortcuts
Default keybindings can be customized in VS Code settings:
- PHPDoc generation:
Ctrl+Enter(Windows/Linux) /Cmd+Enter(Mac)