预处理PHP以从内置文件中删除功能
||
我一直在阅读有关Phing和Ant的内容,我不确定这些工具中哪一个对这种情况最有用。
它很可能是调试语句等,但我将为您提供字面意义的scanario。
我们有一个免费和高级版本的可下载PHP应用程序,而不是仅包含一个隐藏在某个地方的变量,然后执行以下操作:
if($premium == true) {
echo \'some additional functionality\';
} else {
echo \'basic functionality\';
}
显然,然后有人可以获取源代码并更改该变量,然后爆炸-他们已经窃取了我们的代码。根据我的经验,像Ioncube之类的东西完全是笨拙的,对托管公司的支持还不够好。
我更喜欢一些..也许与此类似:
## if premium ##
echo \'some additional functionality\';
## else ##
echo \'basic functionality\';
## endif ##
然后,我将运行两个构建,一个将premium设置为true,另一个将false设置为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
所以基本上我有一个\'source \'文件夹,它包含一个名为\'folder \'的子文件夹,它不会重新创建该文件夹,也不会重新创建其中的文件(test.php)
#3我确定这很容易-我怎样才能安全地处理.js文件和.html文件?在一个电话中,我的意思是。我认为在.jpg等文件上运行它是一个坏主意。
再次感谢!
没有找到相关结果
已邀请:
6 个回复
弓萍功
或ѭ7call进行调用,您将获得一个简单,易于理解的解决方案,并使用可能知道的语法。 更多详情 您可能已在任何* nix主机上安装了
。否则,它将成为标准包装。一些发行版将其单独提供给
(例如Debian的cpp软件包)。 该程序有一些简单的指令; Wiki页面是一个好的开始,并且手册中包含了比您需要更多的详细信息。基本上,只需要使用
选项在每个文件上调用它就可以进行宏处理,然后将输出复制到某个构建目录即可。 您可以编写单行脚本以使用find11ѭ的代码行进行查找,并引用PHP中的FULL和RESTRICTED宏,例如
更新为使路径正常工作,请尝试以下操作:
然后应将
扩展为
。 更新 添加了ѭ16来删除行标记(#1)。添加了一行以复制目录结构(#2)。更改文件名匹配以在html(#3)上的js上运行。
泉秘胁
该过滤器可在github上找到:https://github.com/tmuguet/PreProcessorFilter
谷起
然后,您可以在代码中的任何位置检查它们。例:
我知道它非常简单,需要以许多其他方式进行开发。但是,如果您可以管理它: 您将分离功能。这样,您可以创建不同的程序包。 您将通过类检查功能。即使用户看到功能名称,也没关系。因为他看不到功能的代码。
凸晴
为陡土
曝匿弄罚
中克隆
目录结构 将and21ѭ的PHP和JS文件解析为
从
复制到
的所有jpg,gif,css等文件 从ѭ22中的所有PHP和JS文件中删除cpp调用添加的注释。 -
- 就像我说的那样,我确定这不是很低效,但是我执行并爆炸了一个.sh文件-我有我的构建!