aleskafka/component-macro
最新稳定版本:0.1
Composer 安装命令:
composer require aleskafka/component-macro
包简介
Extends Latte with simple component model
README 文档
README
Extends Latte with simple component model inspired by JSX for React
Installation
Use composer:
$ composer require aleskafka/component-macro
Install in configuration file to Latte Engine:
$latte = new Latte\Engine; ComponentMacro::install($latte, __DIR__ . '/components');
Basic example
Create Header component as latte template in __DIR__ . '/components/header.latte
{default title=>'', subtitle=>'', follow=>NULL} <h1>{$title}<small n:if="$subtitle">{$subtitle}</small> {if $follow} <a href="?follow=0"><span class="fa fa-ok"></span> followed</a> {else if $follow!==NULL} <a href="?follow=1"><span class="fa fa-add"></span> follow</a> {/if} </h1>
In arbitrary page template render Header component with specific arguments.
<div class="page"> <Header n:component="title=>$page->title"></Header> <div class="page-body"></div> </div>
Features
For more example see tests. In short you can:
- render components in React style
- You can use variable $_html in component. It contains body rendered in parent template inside component tags
- You can expand variable into component
<Header ..$page n:component /> - You can expand defined variables into component
<Header ..$this n:component /> - You can name elements/components inside component with macro n:key="string" (keys can be dynamic) and override it inside parental component tags:
<Header n:component="..."> <span n:child="string">Override span[string] subcomponent</span> </Header>
License
MIT. See full license.
统计信息
- 总下载量: 121
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 5
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-04-17