Vim snippets för Symfony2 entities

Jag sitter precis och har börjat lära mig Symfony2, som för övrigt är riktigt riktigt spännande och bra. Något jag direkt störde mig på var annotations för Doctrine när jag skulle bygga upp mina entiteter. Som tur är så sitter jag med Vim som min editor of choice och kan enkelt fixa detta med snippets!

snippet ent "New Doctrine2 entity" !b
<?php

namespace `!v substitute(substitute(substitute(expand("%:p"), '\v(.*\/\l+)((\/\u\w+)+)\/\u\w+.php$', '\2', ''), '\/', '\\', 'g'), '^\\', '', '')`;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="${1:`!v substitute(substitute(Filename('', 'myClass'), '\v^(.)', '\l\1', ''), '\v(\u)', '_\l\1', 'g')`}")
 */
class ${2:`!v Filename('', 'MyEntity')`} {
  $3
}
endsnippet

snippet entid "Doctrine2 Entity ID" !b
/**
 * @ORM\Id
 * @ORM\Column(type="integer")
 * @ORM\GeneratedValue(strategy="AUTO")
 */
${1:protected} $id;
endsnippet

snippet entx "Doctrine2 Entity X" !b
/**
 * @ORM\Column(type="$1")
 */
${2:protected} $$3;
endsnippet

(Detta är skapat för UltiSnips)

Flödet med detta är då följande:

ent<tab>
entid<tab>
entx<tab>

ent gör så du får början av entityfilen färdig och den tar filnamnet som grund i namnet, entid slänger upp id mallen och med entx kan du göra ett eget värde.

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *