【问题标题】:Can PHP be used without the dollar sign $ symbol for variables?可以在没有美元符号 $ 变量的情况下使用 PHP 吗?
【发布时间】:2010-10-17 21:35:30
【问题描述】:

是否可以在 PHP 中以类似 Java 的方式命名变量,例如无需每次都使用 $ 符号?如果是这样,我该如何启用执行此操作的设置?

【问题讨论】:

  • 您能解释一下为什么要这样做吗?
  • 乍一看可能很奇怪,但它实际上是一个非常有用的功能。
  • $ 符号很有用,您可以在一瞬间看出什么是 var,什么不是。
  • 你知道 $ sigils 为你做了什么:你永远不必关心甚至思考你的变量名可能与句法标记冲突的可能性。
  • 我最讨厌的不过是人们认为“哦,没关系,因为任何好的 IDE 都不会成为问题”的语言错误功能。人们这样做是因为 PHP 在运行时之前无法捕获简单的变量名拼写错误,这是不可接受的。

标签: php syntax variables sigils


【解决方案1】:

抱歉,这是不可能的。你会得到最接近的是常量:

define('CONS', 5);
echo CONS;

【讨论】:

  • 他清楚地说“变量”,这根本不是真正意义上的“接近”常数。
  • 事实上恰恰相反。
  • 也许在 PHP 中;这就是 Tcl 更好的原因,因为它的常数可以变化。 :)
  • @Rob 你可以使用一个带有一个元素的常量数组 - 变量 chuckle
【解决方案2】:

我相信其他答案,因为这一定是不可能的。

虽然我个人讨厌 PHP,但每个人都有一些好的特点。 PHP $ 非常好的原因之一与变量插值有关:

$bob = "rabbit"
$joe = "dragon-$bob"  // ==> dragon-rabbit

这很好,很简短。在 Ruby 中,由于变量不必有任何特定的起始字符,因此您必须输入更多内容:

bob = "rabbit"
joe = "dragon-#{bob}"

同样的事情发生在 Java 中(好吧,当你仍然不得不使用 StringBuffer 或与 " + bob + " 连接时,我离开了 Java...我确定现在已经不存在了)。

所以美元符号既烦人又丑陋,但这里至少有一个优势(肯定还有更多)。

同时,如果您尝试编写非常好的 PHP 代码(不管您看到什么),您会开始认为您的代码很优雅,而这些美元符号将象征...金钱!

【讨论】:

  • 好点。我认为您仍然需要在 Java 中使用 + 符号,如果我错了,请有人纠正我:)
  • Groovy 有变量插值。 ;)
  • 我认为你是对的。请注意,有些配置选项与此无关,但会有所帮助。最常用的一种是允许您使用 =$what?> 而不是在所有地方使用 echo。查看 php.ini 的东西...
  • @Rob:谢谢你告诉我这叫做“变量插值”。另见koders.com/java/…
  • 我不同意。如果你算上它,ruby 版本实际上是相同数量的字符。它也可以写成(在 Ruby 中): joe = "dragon-" + bob 这更清楚。此外,在 1% 的时间里输入 #、{ 和 } 比在 99% 的时间里输入 $ 更好。
【解决方案3】:

不。 PHP 中的变量必须以$ 开头。

另一种方法是使用常量。

【讨论】:

  • 如果您需要修改变量的内容,常量不是变量的“另一种方法”。
  • @Rob 你可以使用一个带有一个元素的常量数组 - 变量 chuckle
【解决方案4】:

这就像要求 Java 是非强类型的:

str = "some string";
System.out.print(str.contains("some"));

毫无意义。

【讨论】:

  • 不,不是。 Js 和 python 工作正常,没有任何特殊迹象。承认事实吧。
猜你喜欢
  • 1970-01-01
  • 2011-10-24
  • 2014-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-21
  • 2013-05-28
  • 2015-12-27
相关资源
最近更新 更多