abbeycat/prepro

一个预处理源文件的工具

安装: 31

依赖: 0

建议: 0

安全: 0

星标: 0

关注者: 0

分支: 0

开放问题: 0

类型:application

1.0.1 2017-07-12 11:58 UTC

This package is auto-updated.

Last update: 2024-09-06 03:41:40 UTC


README

prepro是一个简单的预处理器,允许将一组集中定义的常量替换到项目的源文件中。

代码示例

prepro在调用之前需要两个配置文件 - 一个定义文件和一个配置文件。

定义

定义基本上遵循C语言类似的语法,并标识出prepro在预处理期间需要考虑的所有常量(每行一个)。

以下示例标识了一个定义文件(prepro.def),它将常量"MAX_USERNAME_LENGTH"与值"20"关联起来

; define an example constant
#define MAX_USERNAME_LENGTH 20

配置

配置文件提供了一个简单的映射,告诉prepro它应该查找哪些文件类型,以及每个常量将围绕什么前缀。

以下示例标识了一个配置文件(prepro.ini),它意味着prepro应该只考虑.php、.phtml、.js和.ini文件进行预处理,并且prepro.def中标识的常量将以"__"前缀找到(即"MAX_USERNAME_LENGTH"将变为"_MAX_USERNAME_LENGTH_")

[mappings]
php,phtml,js,ini = "__"

有了定义和配置,prepro可以对源文件夹进行调用,并指示将预处理结果输出到输出文件夹,如下所示

$ prepro --input pre --output source --config prepro.ini --preprocess prepro.def

动机

一些项目汇集了各种技术、框架和语言,这些技术、框架和语言在多个层面上运行。在这些项目中,某些常量可能会在各个地方反复定义,而更改它们需要细心,以确保所有引用都被捕获并正确更改。

prepro允许在源级别对这类常量进行集中定义,并在现有构建过程之前进行替换,有助于确保对定义的更改可以快速、正确、可靠地传播到整个项目中。

安装

最简单的方法是使用Composer下载并安装prepro。

许可证

本项目采用MIT许可证。有关更多详细信息,请参阅LICENSE文件。

贡献

欢迎各种形式的贡献。