如何解析一个类而不执行它

时间:2014-12-22 19:31:54

标签: php regex

我需要解析我的类(它们在不同的文件中)并搜索指定的变量或方法,然后如果有那个变量就必须执行它。

我尝试了一些方法:

  1. 我曾经用preg_match解析我的文件,寻求一些模式。(不是一个好主意)

  2. 之后我尝试了一些不够好的代码解析器扩展。

  3. 最后我尝试了ArrayObject类它根本不好。(因为它解析对象而不是类)

  4. 有没有办法做到这一点?

    的伪代码:

    $file = file_get_content("dir/myClassFile.php");
    $classname='foo';
    if(there was '$variable=x' in $classname)
        include "dir/myClassFile.php";
    

    修改

    文件内容:

    class foo {
        var include = true; //1st
    
        function bar()
        {
            $this->include = true; //2nd 
        }
    }
    

    我需要检查包含是否真的然后我必须包含然后文件。

1 个答案:

答案 0 :(得分:1)

对于简单的语法检查,在命令行上使用php有很长的路要走。只需致电:

$ php -l <filename>

对于更复杂的工具,请查看Sebastian Bergmann的github。他是phpunit的作者,并开发了一些非常有用的工具来检测复制粘贴的代码,死代码等。

Github Account

使用PHPUnit测试您的类是个好主意,以确保它们正常运行。

也可能会使用此PHP Code Sniffer