2010-06-15 95 views
2

我爱上了不使用{}但缩进的Python语法。 可以将PHP配置为不使用{}?是否可以在PHP中使用{}?

+11

我不会。为什么不使用Python作为您的服务器端语言而不是PHP? – Anthony 2010-06-15 23:42:15

+0

我喜欢使用Python作为一般语言,而不是真正的Web开发语言:) – ggfan 2010-06-15 23:44:23

+1

我怀疑会有。 PHP团队意识到,用PHP。ini乱七八糟的是,根据配置不同,语言的行为并不是一个好主意 - 这对编写程序的人来说是一个兼容的噩梦。 – Artefacto 2010-06-15 23:47:11

回答

14

您不能使用缩进,但有alternative syntax。它使用:

if (cond): 

endif; 

while (cond): 

endwhile; 

不是显著空白。

0

有一些endif语法类型,但是您可能不应该使用它,以便您可以创建没有大括号的块。

即使你找到了某种方式可以让你通过缩进而不是大括号来标记代码块,那也不是一个好主意。如果你真的关心使用Python的语法,然后使用Python。

0

在测试语句或循环之后,您也可以跳过对单个操作使用{}。

3

PHP不像Python那样使用空格来处理块。 PHP和Python是两种截然不同的语言。如果您要“配置”PHP来使用像Python这样的语法,它将不再是PHP,而是一种新的语言。

没有直接的方法来做到这一点。如果你想使用PHP,我建议尝试适应PHP的语法和习惯用法。幸运的是,由于PHP不是空白区域敏感的,所以您可以自由地设置代码的格式,并使用与Python一样的缩进方案缩进它。

使用if/edif语法等(如建议)只会让您的PHP看起来更远离您尝试模拟的Python。如果你真的想用Python编程,可以考虑用它作为你的服务器端语言。如果这是您需要的,甚至可以使Pylons这样的框架更加简单。

2

说实话,如果我是你,我会切换到django作为服务器端的东西,因为它在很多方面都是比php更好的语言。如果您想避免使用大括号,PHP提供替代语法为许多它的方法,他们通常是这个样子:

if(somthing): 
do_somthing(); 
endif; 

我通常使用这些时,我输出缓冲文本或有小的PHP模板代码中的感叹词。您还可以使用三元经营者和其他惯例,以避免大括号,像这样的:

if(something) 
    do_something(); 

或ternanry:

(something)?do_something():do_something_else(); 

php手册是关于让你知道当你可以用不错替代语法,但正如我所说,如果你还没有使用替代PHP语法,这听起来像是一个奇妙的时间切换到django

+2

我认为如果**在该三元操作之前没有**。 – Babiker 2010-06-16 00:43:29

+0

whooops。 fix'd。 – Jesse 2010-06-16 23:02:44