在什么我this similar question发现的基础上,我终于解决了这个办法:
我安装Phing,PHP项目构建系统或建立基于Apache Ant工具。
2.我创建了一个build.xml
文件,其中包括我这个目标:
<target name="preprocess" depends="prepare">
<foreach param="fname" absparam="abs-fname" target="preprocessfile">
<fileset dir="${build.dir}">
<patternset>
<include name="**/*.php"/>
</patternset>
</fileset>
</foreach>
</target>
<target name="preprocessfile">
<exec command="gcc -E -x c -P -C -D PREMIUM ${abs-fname} -Wno-invalid-pp-token -o ${abs-fname}"
escape="false"
checkreturn="true"
passthru="true" />
</target>
在实践中,我启动了GCC预处理器在每个PHP文件,我趁它做的正是我需要的。它工作得很好!
不仅:通过Phing,我创建了一些目标来进行PHP验证,JavaScript缩小,创建要部署的归档等。
来源
2015-04-10 13:13:41
Dev
您是否需要为lite组件提供公共代码库? –
如果您可以干净地将您的功能分成不同的文件,例如通过插件系统或类继承,您可以使用任何要生成包含全部或仅包含文件子集的最终“二进制”的构建系统。 – deceze
您所需要的只是一种自动化的方式,如您所描述的那样从完整源创建两个“目标”。 我的建议是使用[Grunt] [1]。 PHP有很多包,我相信你可以用它们来构建你想要的东西。例如: - PHP CodeSniffer(https://npmjs.org/package/grunt-phpcs) - PHP掉毛 (https://npmjs.org/package/grunt-phplint) - PHPUnit的 (HTTPS: // npmjs。org/package/grunt-phpunit) - PHP分析器 (https://npmjs.org/package/grunt-php-analyzer) - PHP的内置 网络服务器(https://npmjs.org/package/grunt -php) [1]:http://gruntjs.com – gbuzogany