crodas/artifex

此包的最新版本(0.5.6)没有可用的许可信息。

宏的强化版。生成代码的最简单方法。

0.5.6 2013-10-28 01:17 UTC

This package is auto-updated.

Last update: 2024-09-12 19:44:03 UTC


README

Artifex 是一个 PHP 的 预处理器。它旨在以非常简单直观的方式生成 PHP 代码。

语法

Artifex 语法深受 C 预处理器的启发,但它们不是从 #(在 PHP 中是注释)开始,而是从 #* 开始。

#* $foo = $foo + 1

Artifex 还以方便的方式支持多行。

#*
# $foo = $foo + 2
# $bar = $foo + $foo->xxx();

为了替换一个值,它必须被 __ 包围,例如

<?php
#* $foo = rand()
function getRandomOnce() {
  return __foo__;
}

#* $foo = {'foo': 'bar'}
function getArray() {
  return __@foo__;
}

语法深受 PHP 启发,尽管有一些差异

  1. 分号不是必需的(它们是可选的)。
  2. 任何未分配的字符串都将被打印出来。 #* "hello there" 等于 #* print("hello there")
  3. 花括号是无效的,而是有一个通用的 end 标记来指示块结束的位置
  4. @ 字符开头的变量意味着我们想要表示其值(与调用 var_exports 相同)。
  5. 它支持 json。

迭代器

到目前为止,Artifex 支持 foreach

<?php

class __foo__ {
  #* foreach(['foo', 'bar'] as $id => $name)
  function get__name__() {
    return "I'm a the getter of __id__ => __name__";
  }
  #* end
}