# sugguestion? report bugs? # go to https://github.com/chrisyue/vim-snippets/issues snippet contr "Symfony2 controller" b namespace `!p abspath = os.path.abspath(path) m = re.search(r'[A-Z].+(?=/)', abspath) if m: snip.rv = m.group().replace('/', '\\') `; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\HttpFoundation\Request; /** * ${1:@author `whoami`} */ class `!p snip.rv = re.match(r'.*(?=\.)', fn).group() ` extends Controller { } endsnippet snippet act "Symfony2 action" b /** * @Route("${3}", name="${4}") * @Method({${5:"POST"}}) * @Template() */ public function ${1}Action(${2}) { ${6} } endsnippet snippet actt "Symfony2 action and template" b /** * @Route("${3}", name="${4}") * @Method({${5:"GET"}}) * @Template() */ public function ${1}Action(${2}) { ${6} return []; }`!p abspath = os.path.abspath(path)` endsnippet snippet comm "Symfony2 command" b namespace `!p abspath = os.path.abspath(path) m = re.search(r'[A-Z].+(?=/)', abspath) if m: snip.rv = m.group().replace('/', '\\') `; use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; /** * ${3:@author `whoami`} */ class `!p snip.rv = re.match(r'.*(?=\.)', fn).group() ` extends ContainerAwareCommand { protected function configure() { $this->setName('${1}') ->setDescription('${2}') ->setDefinition([ new InputArgument('', InputArgument::REQUIRED, ''), new InputOption('', null, InputOption::VALUE_NONE, ''), ]); } protected function execute(InputInterface $input, OutputInterface $output) { } } endsnippet snippet subs "Symfony2 subscriber" b namespace `!p abspath = os.path.abspath(path) m = re.search(r'[A-Z].+(?=/)', abspath) if m: snip.rv = m.group().replace('/', '\\') `; use Symfony\Component\EventDispatcher\EventSubscriberInterface; /** * ${1:@author `whoami`} */ class `!p snip.rv = re.match(r'.*(?=\.)', fn).group() ` implements EventSubscriberInterface { public function __construct() { } /** * {@inheritDoc} */ public static function getSubscribedEvents() { return []; } } endsnippet snippet transf "Symfony2 form data transformer" b namespace `!p abspath = os.path.abspath(path) m = re.search(r'[A-Z].+(?=/)', abspath) if m: snip.rv = m.group().replace('/', '\\') `; use Symfony\Component\Form\DataTransformerInterface; use Symfony\Component\Form\Exception\TransformationFailedException; /** * ${3:@author `whoami`} */ class `!p snip.rv = re.match(r'.*(?=\.)', fn).group() ` implements DataTransformerInterface { /** * {@inheritDoc} */ public function transform(${1}) { } /** * {@inheritDoc} */ public function reverseTransform(${2}) { } } endsnippet snippet ent "Symfony2 doctrine entity" b namespace `!p abspath = os.path.abspath(path) m = re.search(r'[A-Z].+(?=/)', abspath) if m: snip.rv = m.group().replace('/', '\\') `; use Doctrine\ORM\Mapping as ORM; /** * ${3:@author `whoami`} * * @ORM\Entity() * @ORM\Table(name="`!p tmp = re.match(r'.*(?=\.)', fn).group() tmp = re.sub(r'\B([A-Z])', r'_\1', tmp) snip.rv = tmp.lower() `") */ `!p m = re.search(r'Abstract', path) if m: snip.rv = 'abstract ' `class `!p snip.rv = re.match(r'.*(?=\.)', fn).group() ` { /** * @ORM\Column(type="integer") * @ORM\GeneratedValue * @ORM\Id */ private $id; } endsnippet snippet form "Symfony2 form type" b namespace `!p abspath = os.path.abspath(path) m = re.search(r'[A-Z].+(?=/)', abspath) if m: snip.rv = m.group().replace('/', '\\') `; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolverInterface; /** * ${2:@author `whoami`} */ class `!p snip.rv = re.match(r'.*(?=\.)', fn).group() ` extends AbstractType { /** * {@inheritDoc} */ public function buildForm(FormBuilderInterface $builder, array $options) { } /** * {@inheritDoc} */ public function setDefaultOptions(OptionsResolverInterface $resolver) { $resolver->setDefaults(); } /** * {@inheritDoc} */ public function getName() { return '${1}'; } } endsnippet snippet ev "Symfony2 event" b namespace `!p abspath = os.path.abspath(path) m = re.search(r'[A-Z].+(?=/)', abspath) if m: snip.rv = m.group().replace('/', '\\') `; use Symfony\Component\EventDispatcher\Event; /** * ${2:@author `whoami`} */ class `!p snip.rv = re.match(r'.*(?=\.)', fn).group() ` extends Event { } endsnippet snippet redir "Symfony2 redirect" $this->redirect($this->generateUrl('${1}', ${2})); endsnippet