0

是否可以将对象运算符“->”更改为“.”,因此访问类方法看起来像这样:$user.add()而不是$user->add()?

我想这不是一个非常聪明的问题,但是您必须同意,当您键入“->”时,您有两个符号,其中一个您必须按 SHIFT,这比“.”要复杂得多。点看起来更漂亮。

4

6 回答 6

9

不,那是不可能的。可能即使通过修改语言的语法也会非常困难,因为它可能会导致歧义 -$foo.bar()然后可能是方法调用或连接$foo以及bar().

如果您不想,请使用不同的语言->。我的建议是 python - 无论如何它比 PHP 要聪明得多。

于 2012-05-11T08:03:27.323 回答
6

可以通过更改代码解析器来做到这一点。您当然需要仔细测试,然后重新编译 PHP。您不能在 PHP 中做到这一点,只能通过重写 C 源代码。

于 2012-05-11T08:04:07.557 回答
5

我猜这是不可能的,因为.它被用作连接运算符。如果每个人都可以改变这些东西,我们会在哪里,我猜这种语言会非常不稳定。

所以:不。

于 2012-05-11T08:04:28.800 回答
4

不,你不能那样做,它来自你无法改变的语言的核心。AFAIK 某些其他语言也使用它,PHP 遵守约定。

于 2012-05-11T08:03:46.823 回答
3

快速回答:不,这不可能!

于 2012-05-11T08:03:42.797 回答
1

基本上 PHP 是开源的,因此您可以获取源代码并根据需要进行修改。但实际上,由于以下几个原因,这样的修改是一个坏主意:

  • 请注意,点是一个 php 运算符!默认情况下,$foo.bar() 将被解释为变量 $foo 和函数 bar() 的返回类型之间的连接,因此有必要将点运算符更改为其他内容,也许是一个加号用其他语言处理
  • 由于项目或其他原因可能想要检查您的代码或与您合作的所有其他 PHP 开发人员都会因为这些更改而感到困惑
  • 在每个 PHP 更新中,您必须将更改应用到新版本上,并且可能会编辑您的更改,因为它们不再与新版本兼容 - 两者都会导致额外工作,尤其是在安全更新上,这很糟糕
  • 也许你将来会成为一名 PHP 开发人员,然后你会因为在一家使用默认语法的公司工作而感到困惑

您的主要想法是将这两个字符替换为一个还不错,但是您会看到这些更改会导致一些其他问题,这些问题与您通过此修改保存的时间无关。我自己是一名 PHP 开发人员,我可以告诉你,一开始使用 -> 代替点会让你感到困惑,尤其是当你来自使用点的其他语言(如 Java 或 C#)时。

But after writing some code you get familiar with these type of syntax and it shouldn't be a problem any more. You can put your forefinger of your right hand on the '-' key, your little finger on the shift key right of the minus and the little finger of your right hand to the '|' key. Then it will not cause you much overhead to type a -> instead of a dot :)

于 2014-11-28T01:13:35.397 回答