0

有很多预处理或编译语言,每种语言都有自己的学习曲线,例如(scss、sass、jade、typescript),而且数量似乎并没有减少。

如果开发人员可以执行 PHP 来生成任何文本文档,就像使用文件观察器将上述内容编译为本机(html、css、js)一样,那不是很酷。

优点

  1. 没有额外的学习曲线。
  2. 一种语言。
  3. 减少重复编码。
  4. 以更少的错误生成代码
  5. 生成符合您标准的一致代码。
  6. 更多的时间专注于规划我们的应用程序。

我尝试了什么

通过编辑 Jade 源代码并将扩展名从 html 更改为 php。

File:       jade.js

Location:   npm\node_modules\jade\bin\

Line:       249

我已经能够将 Jade 文件执行到 PHP

在此处输入图像描述

我认为如何实现

可能有多个这样的转译器。

模板-css -> 编译成 css

template-php -> 编译为 php

template-js -> 编译成 javascript。

等等。

Middle Parser 或 file watcher 将主要完成 3 个任务

  1. 将文件扩展名从 template-filetye 替换为 php。

  2. 对 PHP 可执行文件或解析器执行新的 file.php,就像在浏览器中运行一样。

  3. 将指定的文本返回给文件观察器。

这是jade.cmd文件中的代码

@IF EXIST "%~dp0\node.exe" (
  "%~dp0\node.exe"  "%~dp0\node_modules\jade\bin\jade.js" %*
) ELSE (
  @SETLOCAL
  @SET PATHEXT=%PATHEXT:;.JS;=;%
  node  "%~dp0\node_modules\jade\bin\jade.js" %*
)

注意:我不明白 cmd 文件。我没有修改这个文件,但告诉它可能对任何想要帮助的人都有帮助。

灵感

http://www.codesmithtools.com/product/generator

可能有用的链接

http://php.net/manual/en/function.exec.php

http://php.net/manual/it/install.windows.commandline.php

任何帮助构建文件观察器或任何适当的名称将不胜感激。

4

1 回答 1

1

如果您只是在寻找一种在 IDE 更改时查看和执行 php 文件的方法,那么您已经拥有了所需的一切。

看看PhpStorm 中的这个文件观察器

此文件观察程序将运行$PhpExecutable$,在我的情况下,/usr/lib/php每次文件Working directory更改并放入STDOUT同一目录中但具有新扩展名的文件时.txt

IDE 将自动对输入和输出文件进行分组,以便于管理。

如果您需要更高级的东西,您总是可以编写自己的脚本来代替$PhpExecutable$并使用 php 输出控制

例如:

#!/usr/bin/env php
<?php

ob_start();
// ... preprocess? init some variables?
include $argv[1];
$output = ob_get_clean();
// ... postprocess $output?
echo $output; // echo to STDOUT, or to file with file_put_contents(preg_replace('/\.php$/', '.txt', $argv[1]), $output);
于 2016-06-22T08:48:45.723 回答