{ "$… = ( … ) ? … : …": { "prefix": "if?", "body": "$${1:retVal} = (${2:condition}) ? ${3:a} : ${4:b} ;", "description": "Ternary conditional assignment" }, "$… = array (…)": { "prefix": "array", "body": "$${1:arrayName} = array($0);", "description": "Array initializer" }, "$… = […]": { "prefix": "shorray", "body": "$${1:arrayName} = [$0];", "description": "Array initializer" }, "… => …": { "prefix": "keyval,kvp", "body": "'$1' => $2$0", "description": "Key-Value pair" }, "$a <=> $b": { "prefix": "spaceship", "body": "(${1:\\$a} <=> ${2:\\$b} === ${3|0,1,-1|})", "description": "Spaceship equality check" }, "attribute": { "prefix": "attr", "body": [ "#[\\\\Attribute]", "class ${1:My}Attribute${2: extends ${3:MyOther}Attribute} {", "\t$0", "}" ], "description": "Attribute" }, "attribute target": { "prefix": "attr_target", "body": "\\Attribute::${1|TARGET_ALL,TARGET_CLASS,TARGET_FUNCTION,TARGET_METHOD,TARGET_PROPERTY,TARGET_CLASS_CONSTANT,TARGET_PARAMETER,IS_REPEATABLE|}$0" }, "attribute with target": { "prefix": "attr_with_target", "body": [ "#[\\\\Attribute(\\Attribute::${1|TARGET_ALL,TARGET_CLASS,TARGET_FUNCTION,TARGET_METHOD,TARGET_PROPERTY,TARGET_CLASS_CONSTANT,TARGET_PARAMETER,IS_REPEATABLE|}$2)]", "class ${3:My}Attribute${4: extends ${5:MyOther}Attribute} {", "\t$0", "}" ], "description": "Attribute - Chain targets with attr_target snippet" }, "case …": { "prefix": "case", "body": [ "case '${1:value}':", "\t${0:# code...}", "\tbreak;" ], "description": "Case Block" }, "class …": { "prefix": "class", "body": [ "${1:${2|final ,readonly |}}class ${3:${TM_FILENAME_BASE}}${4: extends ${5:AnotherClass}} ${6:implements ${7:Interface}}", "{", "\t$0", "}", "" ], "description": "Class definition" }, "class __construct": { "prefix": "construct", "body": [ "${1|public,private,protected|} function __construct(${2:${3:Type} $${4:var}${5: = ${6:null}}}$7) {", "\t\\$this->${4:var} = $${4:var};$0", "}" ] }, "class function …": { "prefix": "class_fun", "body": [ "${1|public ,private ,protected |}${2: static }function ${3:FunctionName}(${4:${5:${6:Type} }$${7:var}${8: = ${9:null}}}$10) : ${11:Returntype}", "{", "\t${0:# code...}", "}" ], "description": "Function for classes, traits and enums" }, "const": { "prefix": "const", "body": "${1|public ,private ,protected |}const ${2:NAME} = $3;", "description": "Constant for classes, traits, enums" }, "enum": { "prefix": "enum", "body": [ "enum $1 {", "\tcase $2;$0", "}" ] }, "define(…, …)": { "prefix": "def", "body": [ "define('$1', ${2:'$3'});", "$0" ], "description": "Definition" }, "do … while …": { "prefix": "do", "body": [ "do {", "\t${0:# code...}", "} while (${1:$${2:a} <= ${3:10}});" ], "description": "Do-While loop" }, "else …": { "prefix": "else", "body": [ "else {", "\t${0:# code...}", "}" ], "description": "Else block" }, "elseif …": { "prefix": "elseif", "body": [ "elseif (${1:condition}) {", "\t${0:# code...}", "}" ], "description": "Elseif block" }, "for …": { "prefix": "for", "body": [ "for ($${1:i}=${2:0}; $${1:i} < $3; $${1:i}++) { ", "\t${0:# code...}", "}" ], "description": "For-loop" }, "foreach …": { "prefix": "foreach", "body": [ "foreach ($${1:variable} as $${2:key}${3: => $${4:value}}) {", "\t${0:# code...}", "}" ], "description": "Foreach loop" }, "function": { "prefix": "fun", "body": [ "function ${1:FunctionName}($2)${3: : ${4:Returntype}} {", "\t$0", "}" ], "description": "Function - use param snippet for parameters" }, "anonymous function": { "prefix": "fun_anonymous", "body": [ "function ($1)${2: use ($${3:var})} {", "\t$0", "}" ], "description": "Anonymous Function" }, "if …": { "prefix": "if", "body": [ "if (${1:condition}) {", "\t${0:# code...}", "}" ], "description": "If block" }, "if … else …": { "prefix": "ifelse", "body": [ "if (${1:condition}) {", "\t${2:# code...}", "} else {", "\t${3:# code...}", "}", "$0" ], "description": "If Else block" }, "match": { "prefix": "match", "body": [ "match (${1:expression}) {", "\t$2 => $3,", "\t$4 => $5,$0", "}" ], "description": "Match expression; like switch with identity checks. Use keyval snippet to chain expressions" }, "param": { "prefix": "param", "body": "${1:Type} $${2:var}${3: = ${4:null}}$5", "description": "Parameter definition" }, "property": { "prefix": "property", "body": "${1|public ,private ,protected |}${2|static ,readonly |}${3:Type} $${4:var}${5: = ${6:null}};$0", "description": "Property" }, "PHPDoc class …": { "prefix": "doc_class", "body": [ "/**", " * ${8:undocumented class}", " */", "${1:${2|final ,readonly |}}class ${3:${TM_FILENAME_BASE}}${4: extends ${5:AnotherClass}} ${6:implements ${7:Interface}}", "{", "\t$0", "}", "" ], "description": "Documented Class Declaration" }, "PHPDoc function …": { "prefix": "doc_fun", "body": [ "/**", " * ${1:undocumented function summary}", " *", " * ${2:Undocumented function long description}", " *", "${3: * @param ${4:Type} $${5:var} ${6:Description}}", "${7: * @return ${8:type}}", "${9: * @throws ${10:conditon}}", " **/", "${11:public }function ${12:FunctionName}(${13:${14:${4:Type} }$${5:var}${15: = ${16:null}}}17)", "{", "\t${0:# code...}", "}" ], "description": "Documented function" }, "PHPDoc param …": { "prefix": "doc_param", "body": [ "* @param ${1:Type} ${2:var} ${3:Description}$0" ], "description": "Paramater documentation" }, "PHPDoc trait": { "prefix": "doc_trait", "body": [ "/**", " * $1", " */", "trait ${2:TraitName}", "{", "\t$0", "}", "" ], "description": "Trait" }, "PHPDoc var": { "prefix": "doc_var", "body": [ "/** @var ${1:Type} $${2:var} ${3:description} */", "${4:protected} $${2:var}${5: = ${6:null}};$0" ], "description": "Documented Class Variable" }, "Region End": { "prefix": "#endregion", "body": [ "#endregion" ], "description": "Folding Region End" }, "Region Start": { "prefix": "#region", "body": [ "#region" ], "description": "Folding Region Start" }, "switch …": { "prefix": "switch", "body": [ "switch (\\$${1:variable}) {", "\tcase '${2:value}':", "\t\t${3:# code...}", "\t\tbreak;", "\t$0", "\tdefault:", "\t\t${4:# code...}", "\t\tbreak;", "}" ], "description": "Switch block" }, "$this->…": { "prefix": "this", "body": "\\$this->$0;", "description": "$this->..." }, "Throw Exception": { "prefix": "throw", "body": [ "throw new $1Exception(${2:\"${3:Error Processing Request}\"}${4:, ${5:1}});", "$0" ], "description": "Throw exception" }, "trait …": { "prefix": "trait", "body": [ "trait ${1:TraitName}", "{", "\t$0", "}", "" ], "description": "Trait" }, "Try Catch Block": { "prefix": "try", "body": [ "try {", "\t${1://code...}", "} catch (${2:\\Throwable} ${3:\\$th}) {", "\t${4://throw \\$th;}", "}" ], "description": "Try catch block" }, "use function": { "prefix": "use_fun", "body": "use function $1;" }, "use const": { "prefix": "use_const", "body": "use const $1;" }, "use grouping": { "prefix": "use_group", "body": [ "use${1| const , function |}$2\\{", "\t$0,", "}" ], "description": "Use grouping imports" }, "use as ": { "prefix": "use_as", "body": "use${1| const , function |}$2 as $3;", "description": "Use as alias" }, "while …": { "prefix": "while", "body": [ "while (${1:$${2:a} <= ${3:10}}) {", "\t${0:# code...}", "}" ], "description": "While-loop" } }