liip/code-bundle

此包已被废弃,不再维护。未建议替代包。

Liip Code Bundle

安装次数: 10,928

依赖者: 0

推荐者: 0

安全性: 0

星标: 26

关注者: 51

分支: 1

公开问题: 9

类型:symfony-bundle

0.4.0 2013-06-13 09:34 UTC

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:editcode: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 控制台命令完全相同,如果您在浏览代码时想要确保不会出错,仍然非常有用。