mthaml/mthaml-bundle

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

此包提供HAML模板引擎

安装数量: 41 707

依赖: 0

建议者: 0

安全性: 0

星标: 38

关注者: 6

分支: 13

公开问题: 3

类型:symfony-bundle

1.5.0 2016-08-12 16:38 UTC

This package is auto-updated.

Last update: 2023-11-29 15:10:15 UTC


README

HAML 使用 MtHaml PHP HAML 解析器 的 Symfony 包。

Build Status

特性

  • 作为Twig预处理器:支持Twig函数、过滤器、宏、块、继承、表达式以及所有Twig特性
  • 混合Twig和HAML模板:您可以从HAML模板中包含、扩展、使用和导入Twig模板,反之亦然。
  • 高性能:模板编译为PHP代码并缓存,没有解析或运行时开销。
  • 支持编辑器中的HAML语法

安装

步骤1:下载MtHaml和MtHamlBundle

最终,MtHaml文件应下载到vendor/MtHaml目录,MtHamlBundle文件到vendor/bundles/MtHamlBundle目录。

这可以通过几种方式完成,具体取决于您的喜好。第一种方法是标准的Symfony2方法。

使用Composer

$ composer require mthaml/mthaml-bundle:dev-master

(如果您使用此方法,则可以跳过步骤2,因为Composer会为您处理自动加载。)

使用供应商脚本

在您的deps文件中添加以下行

[MtHaml]
    git=git://github.com/arnaud-lb/MtHaml.git
    target=MtHaml
[MtHamlBundle]
    git=git://github.com/arnaud-lb/MtHamlBundle.git
    target=bundles/MtHamlBundle

现在,运行供应商脚本以下载包

$ php bin/vendors install

使用子模块

如果您更喜欢使用git子模块,请运行以下命令

$ git submodule add git://github.com/arnaud-lb/MtHamlBundle.git vendor/bundles/MtHamlBundle
$ git submodule add git://github.com/arnaud-lb/MtHaml.git vendor/MtHaml
$ git submodule update --init

步骤2:配置自动加载器

如果您使用Composer安装了包,则可以跳过此步骤。

MtHamlMtHamlBundle 命名空间添加到您的自动加载器中

<?php
// app/autoload.php

$loader->registerNamespaces(array(
    // ...
    'MtHaml'       => __DIR__ . '/../vendor/MtHaml/lib',
    'MtHamlBundle' => __DIR__ . '/../vendor/bundles',
));

步骤3:启用包

最后,在kernel中启用包

<?php
// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...
        new MtHamlBundle\MtHamlBundle(),
    );
}

步骤4:配置MtHamlBundle

# app/config/config.yml

framework:
    # ...
    templating:
        engines: ['haml','twig']

# required, for Symfony to load the bundle configuration
mt_haml:

(这是必需的,以便Symfony加载包配置。)

步骤5:使用它

使用 @Template() 注解

/**
 * @Template(engine="haml")
 */
public function fooAction() {

使用 @Haml() 注解

@Haml 注解是 @Template 的子类,默认将 engine 设置为 haml

/**
 * @Haml
 */
public function fooAction() {

With ->render()

public function bazAction() {
    $this->render('FooBundle:Bar:baz.html.haml');
}

With FOSRestBundle

/**
 * @View(engine="haml")
 */
public function fooAction() {

语法

请参阅 MtHaml 文档

命令

mthaml:debug:dump

mthaml:debug:dump 命令将 HAML 模板编译成 Twig,并显示生成的 Twig 模板。

用于调试目的。

示例

php ./app/console mthaml:debug:dump AcmeDemoBundle:Demo:index.html.haml