2012-03-15 29 views
20

我刚刚从php.net(PHP 5.4.0 [tar.bz2])下载PHP的完整源代码。 他们往往用三个花括号下面一起给出(下面的代码片段提取形式转/类型/ ctype.c。)三个花括号一起在PHP源代码

/* {{{ proto bool ctype_digit(mixed c) 
    Checks for numeric character(s) */ 
static PHP_FUNCTION(ctype_digit) 
{ 
    CTYPE(isdigit); 
} 
/* }}} */ 

有没有人有他们为什么使用这三个大括号在一起的想法?

+1

它们被某些编辑用来“折叠”代码块,所以只有注释行本身的文本是可见的,而实际的代码是“折叠”的。 – 2012-03-15 06:22:24

+0

我不认为只是为了折叠,他们允许添加三个大括号。 – 2012-03-15 06:27:27

+3

@HabeebPerwad它在评论块 - 他们可以“允许”他们想要的任何内容。 :) – Narf 2012-03-15 07:16:17

回答

26

他们vim fold markers,他们可以很容易地折叠和展开的文本其间在vim三花括号中的例子显示之间交替:

... 

/* {{{ proto bool ctype_digit(mixed c) 
    Checks for numeric character(s) */ 
static PHP_FUNCTION(ctype_digit) 
{ 
    CTYPE(isdigit); 
} 
/* }}} */ 

... 

,只是

... 

/* {{{ proto bool ctype_digit(mixed c) 

... 

如果你看看end of the file where you find them,你会经常发现这样一个块:

/* 
* Local variables: 
* tab-width: 4 
* c-basic-offset: 4 
* End: 
* vim600: sw=4 ts=4 fdm=marker 
* vim<600: sw=4 ts=4 
*/ 

这是另一个更为明显的指标,这些评论与vim相关。

+0

而我是折叠现在的粉丝! – 2013-08-24 06:48:55