mthaml / mthaml-bundle
此包已被废弃,不再维护。没有建议的替代包。
此包提供HAML模板引擎
1.5.0
2016-08-12 16:38 UTC
Requires
- php: ^5.3.3|^7.0
- mthaml/mthaml: ~1.3
- symfony/framework-bundle: ~2.3|~3.0
- symfony/twig-bundle: ~2.3|~3.0
Requires (Dev)
- jms/translation-bundle: ~1.0
- sensio/framework-extra-bundle: ~2.1|~3.0
- symfony/assetic-bundle: ~2.3|~3.0
- symfony/browser-kit: ~2.3|~3.0
- symfony/console: ~2.3|~3.0
- symfony/css-selector: ~2.3|~3.0
- symfony/yaml: ~2.3|~3.0
README
HAML 使用 MtHaml PHP HAML 解析器 的 Symfony 包。
特性
- 作为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安装了包,则可以跳过此步骤。
将 MtHaml
和 MtHamlBundle
命名空间添加到您的自动加载器中
<?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