liip / code-bundle
Liip Code Bundle
Requires
- php: >=5.3.3
- symfony/framework-bundle: ~2.0
This package is not auto-updated.
Last update: 2022-02-01 12:23:47 UTC
README
此包不再维护。如有需要,请随意分支。
简介
一组用于帮助开发者处理识别类、模板、包、服务等各种方式的 Symfony2 控制台命令。提供控制台命令以找到它们的文件路径或类,以及编辑器快捷键。
code:path
输出与类、服务、模板等对应的 symfony 路径。code:locate
找到与类、服务、模板等对应的文件。code:class
输出服务的类。code:edit
编辑与类、服务、模板等对应的文件。code:view
显示与类、服务、模板等对应的文件。
安装
将以下代码添加到您的 composer.json
文件中
"require": {
..
"liip/code-bundle": "dev-master"
},
然后运行 Composer 更新命令
$ php composer.phar update liip/code-bundle
然后在 AppKernel.php
文件中注册该包
public function registerBundles()
{
$bundles = array(
...
new Liip\CodeBundle\LiipCodeBundle(),
...
);
return $bundles;
}
配置 code:edit
和 code:view
控制台命令以与您喜欢的编辑器一起使用
liip_code: edit_command: "vim -f" view_command: "vim -f"
在此示例中,app/console code:edit some_resource_name
命令将实际上查找资源并执行 vim -f /path/to/the/corresponding/file
。
输入 app/console
并检查是否可以访问新的控制台命令,格式为 code:*
此包目前未定义任何路由,也不需要配置。
用法
常见选项
在模糊查找的情况下,可以使用选项 --type=(class|service|template)
# templating engine service name is ambiguous, the following triggers an AmbiguousLookupException
app/console code:locate templating
# add type option to resolve ambiguity
app/console code:locate templating --type=service
code:path
根据其“名称”返回“symfony 路径”。
模板的 symfony 路径
app/console code:path AcmeDemoBundle:Demo:hello.html.twig
=> @AcmeDemoBundle/Resources/views/Demo/hello.html.twig
请注意,对于模板,它不必存在
app/console code:path AcmeDemoBundle:Dummy:dummy.html.twig
=> @AcmeDemoBundle/Resources/views/Dummy/dummy.html.twig
... 当您需要创建模板但不确定放在哪里时很有用。
对于模板以外的资源,code:path
等同于 code:locate
。
code:locate
返回“绝对文件路径”。
按名称定位
按名称定位 twig 模板
app/console code:locate AcmeDemoBundle:Demo:hello.html.twig
=> /path/to/symfony2-root/src/Acme/DemoBundle/Resources/views/Demo/hello.html.twig
按名称定位类
app/console code:locate "Acme\DemoBundle\ControllerListener"
=> /path/to/symfony2-root/src/Acme/DemoBundle/ControllerListener.php
请注意,类名必须用引号括起来。目前只能选择由 Symfony2 自动加载器管理的类。
按 ID 定位服务
app/console code:locate acme.demo.listener
=> /path/to/symfony2-root/src/Acme/DemoBundle/ControllerListener.php
您还可以查看 container:debug
控制台命令,它允许您更深入地检查服务。
按“symfony 路径”定位
定位包
app/console code:locate @AcmeDemoBundle
=> /path/to/symfony2-root/src/Acme/DemoBundle
定位目录
app/console code:locate @AcmeDemoBundle/Resources/views
=> /path/to/symfony2-root/src/Acme/DemoBundle/Resources/views
定位文件
app/console code:locate @AcmeDemoBundle/Resources/views/Demo/hello.html.twig
=> /path/to/symfony2-root/src/Acme/DemoBundle/Resources/views/Demo/hello.html.twig
code:class
获取服务的类
app/console code:class acme.demo.listener
=> Acme\DemoBundle\ControllerListener
code:edit
定位并编辑与类、模板等对应的文件。不要忘记配置CodeBundle以与您喜欢的编辑器协同工作(请参阅安装说明)。
编辑twig模板
app/console code:edit AcmeDemoBundle:Demo:hello.html.twig
=> locates and opens the template source file in editor
查看代码:请参阅上方 locate 指令以获取更多信息。
代码:查看
定位并显示与类、模板等对应的文件。与 code:edit
控制台命令完全相同,如果您在浏览代码时想要确保不会出错,仍然非常有用。