PHP中的PHP5.3闭包缩进

时间:2011-05-07 15:57:43

标签: php vim closures

我尝试过几种不同的php缩进脚本,但是它们无法处理以下代码的缩进:

myfunc(function(){
    echo "hello";
    if(1==2){
        echo "world";
    }
});

你能为vim指出vimrc设置或php缩进文件来处理PHP5.3的新语法吗?

更新:这是我得到的:

myfunc(function(){
        echo "hello";
        if(1==2){
        echo "world";
        }
        });

我使用来自http://www.2072productions.com/vim/indent/php.vim John Wellesz的7.3的捆绑缩进

正确缩进了剩余的PHP语法。

1 个答案:

答案 0 :(得分:0)

可能是因为您的闭包语法不正确。据我所知,闭包不应该有名字。例如。对于preg_replace_callback函数,您要么传递一个包含用function($matches){/* logic */}定义的闭包的变量,要么传递前面提到的代码本身。

您在这里尝试做的是在回调参数中定义一个函数。 BAAAAD为您的脚本xD

只需摆脱这样的名字,看看它是否有帮助:

myfunc(function(){
    echo "hello";
    if(1==2){
        echo "world";
    }
});

PHP文档也显示了闭包的这种语法: http://php.net/manual/en/functions.anonymous.php