This VScode extension provides a complete set of code snippets for PHP developers.
You can use it to avoid wasting time typing Class blocks, function signatures or other common PHP statements.
It's a good practice to enter only the first two/three letters of each word. For example:
-
'php class' =
ph cl
/php cla
(no spaces when typing) -
'php class with implements' =
ph cl im
/php cla imp
- No unnecessary placeholders.
- ❌ if (condition) else { code }
- ✅ if () else {}
- Follow the regular code input sequence.
- ❌ function-public
- ✅ public-function
- Avoid short shortcuts that require special memorization.
- ❌ wl
- ✅ while-block
Snippet | Output | Language |
---|---|---|
r / re | return |
php |
th | $this-> |
php |
se | self:: |
php |
thp | $this->property = $property; |
php |
pr | print_r() |
php |
vd | var_dump() |
php |
dirname-dir | dirname(__DIR__) |
php |
Snippet | Output | Language |
---|---|---|
php | <?php ?> |
html |
php-open | <?php |
html |
php-close | ?> |
html |
php-page | php page with strict type & namespace |
html |
Snippet | Output | Language |
---|---|---|
if-block | if ($condition) {} |
php |
if-else-block | if ($condition) {} else {} |
php |
if-return-block | if ($condition) { return $foo; } return $bar; |
php |
else-block | else {} |
php |
elseif-block | elseif ($condition) {} |
php |
switch-break | switch(){ case: ... break; } |
php |
switch-return | switch(){ case: return ...; } |
php |
if-three / ternary-operator | (condition)?true:false; |
php |
Snippet | Output | Language |
---|---|---|
while-block | while ($condition) {} |
php |
do-while-block | do {} while ($condition); |
php |
for-i | for ($i = 0; $i < $condition; $i++) {} |
php |
for-j | for ($j = 0; $j < $condition; $j++) {} |
php |
foreach-block | foreach ($array as $value) {} |
php |
foreach-key-value | foreach ($array as $key => $value) {} |
php |
Snippet | Output | Language |
---|---|---|
public-bool ^(protected | private) ~ |
public bool $ |
php |
public-int ^(protected | private) ~ |
public int $ |
php |
public-float ^(protected | private) ~ |
public float $ |
php |
public-string ^(protected | private) ~ |
public string $ |
php |
public-array ^(protected | private) ~ |
public array $ |
php |
public-readonly-bool ^(protected | private) ~ |
public readonly bool $ |
php |
public-readonly-int ^(protected | private) ~ |
public readonly int $ |
php |
public-readonly-float ^(protected | private) ~ |
public readonly float $ |
php |
public-readonly-string ^(protected | private) ~ |
public readonly string $ |
php |
public-readonly-array ^(protected | private) ~ |
public readonly array $ |
php |
Snippet | Output | Language |
---|---|---|
function | function name($param) {} |
php |
function-return | function name($param): string {} |
php |
anonymous-function | function ($param) {} |
php |
anonymous-function-return | function ($param): string {} |
php |
anonymous-function-use | function ($param) use ($var) {} |
php |
anonymous-function-use-return | function ($param) use ($var): string {} |
php |
arrow-function | fn($foo) => $bar; |
php |
arrow-function-return | fn($foo): string => $bar; |
php |
arrow-function-nested | fn($foo) => fn($bar) => $baz; |
php |
Snippet | Output | Language |
---|---|---|
public-construct ^(protected | private) ~ |
public function __construct() |
php |
public-function ^(protected | private) ~ |
public function |
php |
public-function-return ^(protected | private) ~ |
public function with return type |
php |
public-static-function ^(protected | private) ~ |
public static function |
php |
public-static-function-return ^(protected | private) ~ |
public static function with return type |
php |
abstract-public-function ^protected ~ |
abstract public function |
php |
abstract-public-function-return ^protected ~ |
abstract public function with return type |
php |
Snippet | Output | Language |
---|---|---|
php-class | php class |
html, php |
php-class-no | php class without strict type & namespace |
html |
php-class-no-strict | php class without strict type |
html |
php-class-no-namespace | php class without namespace |
html |
php-class-extends | php class with extends |
html, php |
php-class-implements | php class with implements |
html, php |
php-abstract-class | php abstract class |
html, php |
php-abstract-class-no | php abstract class without strict type & namespace |
html |
php-abstract-class-no-strict | php abstract class without strict type |
html |
php-abstract-class-no-namespace | php abstract class without namespace |
html |
php-abstract-class-extends | php abstract class with extends |
html, php |
php-abstract-class-implements | php abstract class with implements |
html, php |
php-final-class | php final class |
html, php |
php-final-class-no | php final class without strict type & namespace |
html |
php-final-class-no-strict | php final class without strict type |
html |
php-final-class-no-namespace | php final class without namespace |
html |
php-final-class-extends | php final class with extends |
html, php |
php-final-class-implements | php final class with implements |
html, php |
php-interface | php interface |
html, php |
php-interface-no | php interface without strict type & namespace |
html |
php-interface-no-strict | php interface without strict type |
html |
php-interface-no-namespace | php interface without namespace |
html |
php-interface-extends | php interface with extends |
html, php |
php-trait | php trait |
html, php |
Snippet | Output | Language |
---|---|---|
thr | throw new \Exception() |
php |
try-catch-block | try{} catch (){} |
php |
try-catch-message | try{} catch (Exception $e){ $e->getMessage() } |
php |
try-catch-finally | try{} catch (){} finally {} |
php |
catch-block | catch (){} |
php |
finally-block | finally {} |
php |
This extension is forked from h4kst3r/php-awesome-snippets. Because its author seems to have not maintained it for a long time. So I made this fork to make the extension suitable for new version of PHP. I reorganized the snippets and added more standardized writing. Great thanks to h4kst3r's excellent work.
The new version number starts from 2.x.
This work is inspired by PHPstorm (PHP Live Templates) and other works available on VScode marketplace like PHP Snippets VS Code or PHP Snippet Pack.
Read our contributing guide.
MIT License