我一直在阅读有关 Phing 和 Ant 的文章,但我不确定这些工具中的哪一个(如果有的话)对这种情况最有用。
它可能很容易是调试语句等,但我会给你我们的文字扫描。
我们有一个可下载的 PHP 应用程序的免费和高级版本,而不是仅仅包含一个隐藏在某处的变量然后执行:
if($premium == true) {
echo 'some additional functionality';
} else {
echo 'basic functionality';
}
显然,有人可以获取源代码并更改该变量,然后砰——他们窃取了我们的代码。在我的经验中,像 Ioncube 之类的东西完全不实用,而且对托管公司的支持还不够好。
我更喜欢一些东西..也许类似于:
## if premium ##
echo 'some additional functionality';
## else ##
echo 'basic functionality';
## endif ##
然后我会运行两个构建,一个将溢价设置为 true,一个设置为 false,这将生成两个简单的文件:
echo 'some additional functionality';
和
echo 'basic functionality';
能够仅包含基于传递给构建应用程序的相同条件的整个文件也将非常有帮助。
我找不到这样做的方法,但如果可能的话,我对任何替代想法持开放态度。
帮助将是杰出的,
更新
使用 C 预处理器很棒,看起来它可以满足我的一切需求。但是,我找不到如何做以下三件事。
#1我需要删除生成到输出文件中的注释。下面是其中的一个例子。
# 1 "./index.php"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "./index.php"
在您链接到的手册页中,我没有找到如何执行此操作的示例。
#2我需要让它递归地遍历每个发现的文件。当我运行当前代码时,出现错误:../target/./folder/test.php: No such file or directory
所以基本上我有我所在的“源”文件夹,其中包含一个名为“文件夹”的子文件夹,它不会重新创建它,也不会重新创建其中的文件(test.php)
#3我敢肯定这很容易——我怎样才能让它处理 .js 文件和可能 .html 只是为了安全?一通电话,我的意思是。我认为在 .jpg 等文件上运行它是一个坏主意..
再次感谢!