brunschgi/terrific-composer-bundle

简化了基于terrific概念的frontends开发

安装: 65

依赖项: 0

建议者: 0

安全: 0

星星: 6

关注者: 3

分支: 3

开放问题: 3

类型:symfony-bundle

v1.0.3 2013-04-29 18:07 UTC

README

Build Status

TerrificComposer包简化了基于Terrific Concept的前端开发。它提供了一些辅助工具,以简化你的前端开发。

TerrificComposer包依赖于TerrificCoreBundle。请按照这里的说明安装TerrificCoreBundle。

安装

TerrificComposerBundle可以通过Composer方便地安装。只需将以下内容添加到你的composer.json文件中

// composer.json
{
    // ...
    require: {
        // ...
        "brunschgi/terrific-composer-bundle": "dev-master"
    }
}

注意:请将上面的代码片段中的dev-master替换为最新的稳定分支,例如1.0.*。请检查GitHub上的标签以确定哪些版本可用。然后,你可以通过在composer.json文件所在的目录中运行Composer的update命令来安装新的依赖项

php composer.phar update

现在,Composer将自动下载所有必需的文件,并为你安装它们。剩下的只是更新你的AppKernel.php文件,并注册新的包

// in AppKernel::registerBundles()
public function registerBundles()
{
    return array(
        // ...
        new Terrific\ComposerBundle\TerrificComposerBundle(),
    );
}

TerrificComposer为你的每个Terrific模块创建一个包。为了自动注册它们,扩展app/AppKernel.php

// register all terrific modules
$dir = __DIR__.'/../src/Terrific/Module/';

$finder = new Finder();
$finder->directories()->in($dir)->depth('== 0');

foreach ($finder as $file) {
    $filename = $file->getFilename();
    $module = 'Terrific\Module\\'.$filename.'\TerrificModule'.$filename;
    $bundles[] = new $module();
}

routing.yml中导入路由定义

# app/config/routing.yml
TerrificComposerBundle:
    resource: "@TerrificComposerBundle/Controller/"
    type:     annotation
    prefix:   /terrific/composer

app/config/config.ymlapp/config/config_dev.yml中启用包的配置

# app/config/config.yml
terrific_composer:
   composition_bundles: [@TerrificComposition] # optional|default=@TerrificComposition – the bundles where the controllers for your frontend lie
   module_layout: @TerrificComposition::base.html.twig # optional|default=@TerrificComposition::base.html.twig – the layout to take for the separate module view
   module_template: /path/to/your/module/template # optional|default=/path/to/TerrificComposerBundle/Template/Module -> extend or add additional module resources (ie. README.md)

# app/config/config_dev.yml
terrific_composer:
    toolbar: true # enables the composer toolbar in the dev environment

使用方法

要查看TerrificComposerBundle的实际效果,请下载Terrific Composer Distribution并尝试其中的示例。有关Terrific Concept的更多信息,请访问http://terrifically.org

之后,以下步骤应该相当直观 ;-)

Terrific Composer工具栏

工具栏提供了一些有用的助手,有助于简化你的前端开发。

模块/皮肤创建

在/src/Terrific/Module/下创建模块包(带或不带皮肤)。

注意:如果你不使用Terrific Composer Distribution,你必须手动在app/AppKernel.php中注册创建的模块

生成的模块结构包含了在Terrific方式下的LESS/JavaScript文件的基本结构,因此你可以立即开始。

公开资源

打开对话框为您提供快速访问模块和页面。通过点击模块,您可以将其独立于页面其余部分进行实现和测试。此外,您可以尝试不同的宽度、模板和皮肤。

检查模式

检查模式显示了当前页面上使用的模块。

The Composer()注解

该包为您的控制器提供了一个Composer()注解

<?php

namespace Terrific\Composition\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Terrific\ComposerBundle\Annotation\Composer;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;

class DefaultController extends Controller
{
    /**
     * @Composer("Welcome")
     * @Route("/", name="home")
     * @Template()
     */
    public function indexAction()
    {
        return array();
    }

    /**
     * @Composer("Examples Overview")
     * @Route("/examples", name="examples")
     * @Template()
     */
    public function examplesAction()
    {
        return array();
    }
}

Composer注解用于丰富打开对话框中的有意义的页面名称。

这就完了……享受吧!