beatgeb/terrific-composer-bundle

轻松开发基于terrific概念的前端

安装: 19

依赖者: 0

建议者: 0

安全: 0

星级: 1

关注者: 2

分支: 3

类型:symfony-bundle

v0.1 2016-08-12 13:32 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:31:15 UTC


README

Build Status

TerrificComposer 扩展包使得开发基于 Terrific 概念 的前端变得简单。它提供了一些辅助工具和工具来简化你的前端开发。

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

安装

可以通过 Composer 安装 TerrificComposerBundle。只需将以下内容添加到你的 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 发行版 并尝试其中的示例。有关 Terrific 概念的更多信息,请访问 http://terrifically.org

之后,下面的内容应该很简单了 ;-)

Terrific Composer 工具栏

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

模块/皮肤创建

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

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

生成的模块结构包含在 Terrific 风格下的 LESS/JavaScript 文件骨架,这样您就可以立即开始。

打开资源

打开对话框为您提供对模块和页面的快速访问。通过点击模块,您可以将其与其他页面内容隔离来实现和测试它。此外,您还可以尝试不同的宽度、模板和皮肤。

检查模式

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

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 注解用于在打开对话框中添加有意义的页面名称。

就这样……享受吧!