为什么在C#中呢?在PHP中,这是微不足道的.使用
token_get_all()函数,它会将PHP文件分解为一个lexemes流,您可以通过编写有限状态机来确定类和方法列表.
无论你做什么,都不要尝试用正则表达式来做这件事.这将是令人难以置信的乏味和容易出错.
编辑:执行此操作有三种基本可能性:
>用PHP做.这将是最快(开发)和最简单的选择;
>运行命令行PHP脚本以执行此操作或生成一系列可由C#程序解释的标记.这是下一个最容易的;
>使用Phalanger,PHP的端口到.Net框架.这可能更适合管理,因为它仍然是所有.Net代码;要么
>使用Quercus,一个PHP端口到Java VM.
其他任何事情都将涉及编写PHP解析器(大量工作)或使用真正片状的正则表达式,这将是一个不可靠的支持噩梦.
关注PHP的假设“安全漏洞”有几个问题:
>任何框架或技术堆栈都可能存在安全漏洞.你的系统管理员只允许.Net在抗议Java的情况下有效地表明非理性偏见.我说这是一个长期的Java开发人员:Java,.Net和PHP都有安全漏洞;>您可以从命令行运行PHP,因此它不会提供任何HTTP请求,从而将安全漏洞的问题基本上减少为零;>如果您担心内部安全威胁(来自有权访问该框的人),只需将PHP CLI可执行文件限制为只能由您的程序所在的组执行.