Symfony2 Snippets
Sublime Text 的一个用于 Symfony2 开发的工具包
详细信息
安装
- 总计 33K
- Win 16K
- Mac 7K
- Linux 10K
8月6日 | 8月5日 | 8月4日 | 8月3日 | 8月2日 | 8月1日 | 7月31日 | 7月30日 | 7月29日 | 7月28日 | 7月27日 | 7月26日 | 7月25日 | 7月24日 | 7月23日 | 7月22日 | 7月21日 | 7月20日 | 7月19日 | 7月18日 | 7月17日 | 7月16日 | 7月15日 | 7月14日 | 7月13日 | 7月12日 | 7月11日 | 7月10日 | 7月9日 | 7月8日 | 7月7日 | 7月6日 | 7月5日 | 7月4日 | 7月3日 | 7月2日 | 7月1日 | 6月30日 | 6月29日 | 6月28日 | 6月27日 | 6月26日 | 6月25日 | 6月24日 | 6月23日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
Mac | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
README
这是一个 Sublime Text 包,包括用于进行 Symfony2 框架开发的便捷片段。
重要:本插件的 master
分支将始终与 Symfony2 的最新稳定版本保持同步。
安装
使用包控制
如果您已安装 包控制 插件,可以从中直接在 Sublime Text 中安装 Symfony2 Snippets。打开命令面板,选择“包控制:安装包”,然后搜索 Symfony2 Snippets。
不使用包控制
如果没有安装包控制,需要将此存储库的副本克隆到您的包文件夹中,如下所示
git clone https://github.com/raulfraile/sublime-symfony2 symfony2-snippets
如果您需要安装特定的插件分支(本例中的 2.0),请使用以下命令
cd symfony2-snippets
git checkout origin/2.0
快捷键
所有快捷键都以 sf
前缀开始,并且既短又直观
控制器
sfcontroller
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class DefaultController extends Controller
{
public function indexAction()
{
return $this->render('.html.twig');
}
}
sfcontrollera
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class DefaultController extends Controller
{
/**
* @Route("/", name="")
* @Template()
*/
public function indexAction()
{
}
}
sfaction
public function indexAction()
{
return $this->render('.html.twig');
}
sfactiona
sfem
$em = $this->getDoctrine()->getManager();
sfrepo
$em->getRepository('Bundle:Repository');
sfforward
$this->forward('Bundle:Controller:action', array(), array());
sfredirect
$this->redirect($this->generateUrl('route', array()));
sfrender
$this->render('Bundle:Folder:template.html.twig', array());
sfgetsession
$this->getRequest()->getSession();
sfsetflash
$this->get('session')->getFlashBag()->add('type', 'message');
sfdump
\Doctrine\Common\Util\Debug::dump();
命令
sfcommand
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
class DefaultCommand extends Command
{
/**
* {@inheritdoc}
*/
protected function configure()
{
$this
->setName('default:command')
->setDescription('Default description')
;
}
/**
* {@inheritdoc}
*/
protected function execute(InputInterface $input, OutputInterface $output)
{
}
}
sfcommandca
use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
class DefaultCommand extends ContainerAwareCommand
{
/**
* {@inheritdoc}
*/
protected function configure()
{
$this
->setName('default:command')
->setDescription('Default description')
;
}
/**
* {@inheritdoc}
*/
protected function execute(InputInterface $input, OutputInterface $output)
{
}
}
Doctrine
类
sfentityclass
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity(repositoryClass="")
* @ORM\Table(name="")
*/
class Entity
{
/**
* @ORM\Id()
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
}
sfdocumentclass
use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @MongoDB\Document(collection="", repositoryClass="")
*/
class Document
{
/**
* @MongoDB\Id()
*/
protected $id;
}
sfrepository
use Doctrine\ORM\EntityRepository;
class EntityNameRepository extends EntityRepository
{
}
sfgetset
只需输入您的变量名(例如 firstName),片段将自动命名函数(getFirstName)。
/**
* Get
* @return
*/
public function get()
{
return $this->;
}
/**
* Set
* @return $this
*/
public function set($)
{
$this-> = $;
return $this;
}
注解
触发片段后,只需输入您的变量名,它将自动设置注解中的名称(如果您输入 'firstName',则变量将被命名为 'firstName',在注解中名称为 'first_name')。
sfentity
sfid字段
/**
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id()
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
sfstring字段
/**
* @ORM\Column(name="", type="string", length=255)
*/
private $;
sfdecimal字段
/**
* @ORM\Column(name="", type="decimal", scale=2)
*/
private $;
sftext字段
/**
* @ORM\Column(name="", type="text")
*/
private $;
sfinteger字段
/**
* @ORM\Column(name="", type="integer")
*/
private $;
sfbool字段
/**
* @ORM\Column(name="", type="boolean")
*/
private $;
sfsmallint字段
/**
* @ORM\Column(name="", type="smallint")
*/
private $;
sfbigint字段
/**
* @ORM\Column(name="", type="bigint")
*/
private $;
sfdatetime字段
/**
* @ORM\Column(name="", type="datetime")
*/
private $;
sfdate字段
/**
* @ORM\Column(name="", type="date")
*/
private $;
sftime字段
/**
* @ORM\Column(name="", type="time")
*/
private $;
sffloat字段
/**
* @ORM\Column(name="", type="float")
*/
private $;
sfarray字段
/**
* @ORM\Column(name="", type="array")
*/
private $;
sfobject字段
/**
* @ORM\Column(name="", type="object")
*/
private $;
表单
sfform
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class NameType extends AbstractType
{
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
}
/**
* {@inheritdoc}
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => '',
));
}
/**
* {@inheritdoc}
*/
public function getName()
{
return 'name';
}
}
sfdatatransformer
use Symfony\Component\Form\DataTransformerInterface;
use Symfony\Component\Form\Exception\UnexpectedTypeException;
use Symfony\Component\Form\Exception\TransformationFailedException;
class NameTransformer implements DataTransformerInterface
{
/**
* {@inheritdoc}
*/
public function transform($value)
{
}
/**
* {@inheritdoc}
*/
public function reverseTransform($value)
{
}
}
Twig
sftwigextension
class NameExtension extends \Twig_Extension
{
/**
* {@inheritdoc}
*/
public function getFilters()
{
return array();
}
/**
* {@inheritdoc}
*/
public function getTests()
{
return array();
}
/**
* {@inheritdoc}
*/
public function getFunctions()
{
return array();
}
}
sftwigform
<form class="" action="{{ path('') }}" method="post" {{ form_enctype(form) }}>
{{ form_errors(form) }}
{{ form_widget(form) }}
<input type="submit" value="Submit" />
</form>
sftwigrow
{{ form_row(form.) }}
转译
{% trans %}{% endtrans %}
模板
sfasset
{{ asset('bundles/')}}
sfasseticjs
{% javascripts '@/Resources/public/js/*' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
sfasseticcss
{% stylesheets 'bundles//css/*' filter='cssrewrite' %}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
验证
sfconstraint
use Symfony\Component\Validator\Constraint;
/**
* @Annotation
*/
class NameConstraint extends Constraint
{
public $message = '';
}
sfconstraintvalidator
use Symfony\Component\Validator\Constraint;
use Symfony\Component\Validator\ConstraintValidator;
class NameValidator extends ConstraintValidator
{
public function validate($value, Constraint $constraint)
{
}
}
DependencyInjection
sfdiconfiguration
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
use Symfony\Component\Config\Definition\ConfigurationInterface;
class Configuration implements ConfigurationInterface
{
public function getConfigTreeBuilder()
{
$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('bundle_name');
$rootNode
->children()
->scalarNode('enabled')
->setInfo('Enable the container extension')
->setDefault(true)
->end()
->end()
;
return $treeBuilder;
}
}
sfdiextension
use Symfony\Component\Config\FileLocator;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
class BundleExtension extends Extension
{
public function load(array $configs, ContainerBuilder $container)
{
$config = $this->processConfiguration(new Configuration(), $configs);
if (false === $config['enabled']) {
return;
}
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
$loader->load('services.xml');
}
}
sfdiservices
<?xml version="1.0" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
<services>
<service id="id" class="class" />
</services>
</container>
YAML
sfroute
route_name:
path: /
defaults: { _controller: Bundle:Controller:action }
贡献
如果您遗漏了什么,可以随意克隆此存储库并发送一个PR,包含您针对Symfony2的出色片段 :)