ronan-gloo/jadephp

PHP 5.3 的类似 HAML 的模板引擎

dev-master 2013-10-20 15:03 UTC

This package is not auto-updated.

Last update: 2024-09-23 14:54:44 UTC


README

Jade.php 为 Jade 模板编译器添加了内联 PHP 脚本支持。

Jade 语法参考

实现细节

这个分支是一个完整的重写,所有代码都是从原始 jade 项目移植过来的。

所有原始功能都得到支持,但未经充分测试,包括继承和混入。

有什么新功能?

Jade 选项

应将 Jade 选项传递给 Jade 构造函数

$jade = new Jade([
	'prettyprint' => true,
	'extension' => '.jade'
	'cache' => 'pathto/writable/cachefolder/'
]);

支持局部变量

$data['title'] = 'Hello World';
$output = (new Jade())->render('file', $data);

支持自定义过滤器

过滤器必须是可调用的:它可以是一个实现了 __invoke() 方法的类,或者是一个匿名函数。

$jade->filter('escaped', 'My\Callable\Class');

// or

$jade->filter('escaped', function($node, $compiler){
	foreach ($node->block->nodes as $line) {
		$output[] = $compiler->interpolate($line->value);
	}
	return htmlentities(implode("\n", $output));
});

内置过滤器:

  • :css
  • :php
  • :javascript
  • :escaped
  • :cdata