PHP5.3 VIM 中的闭包缩进

发布于 2024-11-05 12:03:35 字数 566 浏览 0 评论 0原文

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

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

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

更新:这是我得到的:

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

我使用 http://www.2072products.com/vim/indent/php.vim John Wellesz

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

I have tried few different php indentation scripts, but they can't handle indentation of the following code:

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

Can you point out vimrc settings or php indentation file for vim which would handle new syntax of PHP5.3?

Update: Here is what I get:

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

I use bundled indent for 7.3 from http://www.2072productions.com/vim/indent/php.vim John Wellesz

Remaining PHP syntax is indented correctly.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

演出会有结束 2024-11-12 12:03:36

这可能是因为你的闭包语法不正确。据我所知,闭包不应该有名称。例如,对于 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

It may be because your closure syntax is incorrect. Closures shouldn't have names as far as I know. E.g. for a preg_replace_callback function, you'd either pass a variable containing a closure defined with function($matches){/* logic */} or the aforementioned code itself.

What you're trying to do here is define a function in a callback argument. BAAAAD for your script xD

Just get rid of the name like this and see if it helps:

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

PHP docs show this syntax for closures too:
http://php.net/manual/en/functions.anonymous.php

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文