fe3dback / moredraw
dev-master
2018-10-12 18:21 UTC
Requires
- php: >=7
- zordius/lightncandy: dev-master
Requires (Dev)
- phpunit/phpcov: ^3.1
- satooshi/php-coveralls: ^1.0
This package is auto-updated.
Last update: 2022-02-01 13:03:30 UTC
README
请参阅v2版本: https://github.com/fe3dback/kx-draw
MoreDraw
带有双向渲染(php/js)的智能Handlebars模板,只需一个模板即可进行响应式数据更新。基于zordius/lightncandy 和 handlebars解析器。
要求(安装)
- composer(用于安装)
- php7(至少)
- https://handlebars.node.org.cn/(可选,仅用于js渲染)
安装PHP端
安装依赖
$ cd /your-project/
$ composer require fe3dback/moredraw
在项目初始化(配置等)(在我们使用模板渲染之前)
require_once 'vendor/autoload.php';
$moreDraw = new NeoHandlebars\MoreDraw();
$moreDraw->init([
'templates_dir' => __DIR__ . '/templates', // where templates will be
'cache_dir' => __DIR__ . '/tmp/cache' // where cache will be
]);
安装JS端(可选,仅用于js使用)
从此页面安装handlebars解析器(handlebars.min-latest.js): http://builds.handlebarsjs.com.s3.amazonaws.com/bucket-listing.html?sort=lastmod&sortdir=desc
或从官方网站: https://handlebars.node.org.cn/installation.html
在网站页脚(包括js文件的位置),添加js库
<!-- include official handlebars parser lib -->
<script src="/vendor/handlebars.min-latest.js"></script>
<!-- include moreDraw -->
<div style="display: none;">
<!-- moredraw raw templates and partials -->
<?=$moreDraw->getAllJSTemplates()?>
</div>
<script src="/moredraw/handlebars.js"></script>
使用
使用。服务器端
在模板文件夹中创建文件 examples/test.hbs。内容如下: hello {{name}}!
// _index is optional, only if we need provided data in js later
echo $moreDraw->render('examples/test', ['_index' => 'to_world', 'name' => 'world']); // Hello world!
echo $moreDraw->render('examples/test', ['_index' => 'to_universe', 'name' => 'universe']); // Hello universe!
使用。客户端
let data = MoreDraw.getData('examples/test', 'to_world'); // {'name' => 'world'}
data.name = data.name + " & me";
let html = MoreDraw.render('examples/test', data); // Hello world & me!