承接 aleskafka/component-macro 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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

GitHub 信息

  • Stars: 5
  • Watchers: 2
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-04-17