roipoussiere / miprem-php
多数判断的优良配置渲染器。
0.1.16
2021-06-23 22:10 UTC
Requires
- php: >=7
- meyfa/php-svg: dev-master
- twig/twig: ^2 || ^3
Requires (Dev)
- symfony/var-dumper: ^5.3
Suggests
- ext-gd: Needed by PngGDRenderer to rasterize svg images.
- ext-imagick: Needed by PngIMRenderer to rasterize svg images.
- ext-simplexml: Needed by PngGDRenderer to read xml files.
- ext-yaml: Needed by Poll and svgConfig to instantiate classes from Yaml.
README
PHP 实现的 Miprem。
安装
先决条件
您必须安装 PHP 和 Composer(即 sudo apt install php composer
)。
克隆仓库
git clone --recurse-submodules https://framagit.org/roipoussiere/miprem-php.git
cd miprem-php
注意 --recurse-submodules
会克隆子模块(miprem 和 miprem-client-demo)。
任何时候您都可以通过以下方式更新子模块:
git submodule update --init --recursive
或者
cd miprem && git pull && cd ..
绑定模板文件夹
要更新模板文件夹,从 miprem 子模块挂载它
./bin/mount-templates.sh
模板添加到 git 中,因为 Composer 无法克隆带有子模块的 git 仓库。
安装依赖项
composer install
然后您可能想安装可选的 PHP 扩展
- ext-yaml:由 Poll 和 svgConfig 需要,以实例化 Yaml 类;
- ext-simplexml(*):由 PngGDRenderer 需要,以读取 xml 文件;
- ext-gd(*):由 PngGDRenderer 需要,以将 svg 图像转换为位图;
- ext-imagick(*):由 PngIMRenderer 需要,以将 svg 图像转换为位图。
在基于 Debian 的系统上,它们可以通过以下包安装:php-yaml
、php-xml
、php-gd
、php-imagick
。
(*) 要生成 png,您可以选择两个渲染器之一
PngIMRenderer
(推荐),它使用扩展 ext-imagick;PngGDRenderer
,它使用包 php-svg,该包需要扩展 ext-simplexml 和 ext-gd。
第一个推荐,因为它产生更好的结果,第二个更轻、更快,但生成的图像可能会有故障。
使用演示客户端测试
现在 Miprem PHP 已安装,您可以通过运行演示 Web 客户端来测试它
./bin/serve.sh
然后打开 http://127.0.0.1:8000/demo.php。
构建库
如果您在编辑 miprem.php,您必须在编辑后从 miprem-js 根目录运行 build.sh
。
./build.sh
它根据模板和值生成 php 文件
- src/Template.php:基于 TemplateEmpty.php,将 {{ TEMPLATE_NAME }} 出现替换为其对应文件的内容。
- src/DefaultData.php:基于 DefaultDataEmpty.php,将 {{ DEFAULT_DATA }} 出现替换为其对应文件的内容。
许可 & 作者
此项目由 MieuxVoter 非营利组织 开发并在 MIT 许可 下发布。