2012-05-11 62 views
0

是否可以將對象運算符「 - >」更改爲「。」,因此訪問類方法將如下所示:$user.add()而不是$user->add()PHP' - >'轉換爲'。'

我想這不是一個非常聰明的問題,但你必須同意,當你鍵入「 - >」你有兩個符號你必須按SHIFT這是更復雜的方式,然後「。 」。點看起來更漂亮。

回答

6

通過更改代碼解析器可能可以做到這一點。您當然需要仔細測試,然後重新編譯PHP。你不能在PHP中做到這一點,只能通過重寫C源代碼。

+0

謝謝你的瘋狂主意..:D –

9

不,這是不可能的。可能即使通過修改語言的語法,它也會非常困難,因爲它可能會引起歧義 - 然後$foo.bar()可能是方法調用或連接$foo和返回值bar()。如果您不想要->,請使用其他語言。我的建議是Python - 它比PHP更安全。

3

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

4

不,你不能這樣做,它來自你不能改變的語言的核心。 AFAIK某些其他語言也使用這種語言,PHP遵循慣例。

+0

PHP是開放源碼意味着你可以*改變核心,如果你知道C/C++。這可能是不可行的,但如果有人想浪費時間做這件事,這絕對是可能的。當然,由此產生的語言不再是嚴格的PHP了,而是它的一個分支......但是,仍然有可能改變語言的其他任何方面。 – cHao

5

我猜想這是不可能的,因爲.被用作連接操作符。如果每個人都可以改變這些事情,我們會在哪裏,那麼我猜這個語言會非常不穩定。

因此:不可以。

1

基本上PHP是開源的,所以你可以得到源代碼並根據你的需要進行修改。但在現實中,這樣的修改是一個壞主意,因爲幾個原因:

  • 請注意,該點是一個php運算符!默認情況下,$ foo.bar()將被解釋爲變量$ foo和函數bar()的返回類型之間的連接,所以有必要將點運算符更改爲其他內容,也許是一個像它的加號在其他語言的處理
  • 每隔PHP-開發者可能要檢查你的代碼,或者你是因爲項目或一些其他原因的工作將因爲這些變化
  • 您所到每一個PHP-更新的混淆將更改應用於新版本,並可能編輯更改,因爲它們不再與新版本兼容 - 兩者都會導致額外的工作,尤其是在安全更新時,這很糟糕
  • 也許你會工作作爲未來的PHP開發人員,那麼你會因爲在com中工作而感到困惑pany這是使用默認語法

你的主要想法是一個一個地代替這兩個字符,但你看到這些變化將導致一些其他問題,這是不是在一個時間的關係你保存這個修改。我自己是一個PHP開發人員,我可以告訴你,使用 - >而不是一個點會在一開始就讓你感到困惑,特別是當你從其他語言如Java或C#使用點時。

但是在編寫一些代碼之後,您會熟悉這些類型的語法,它不應該再成爲問題。你可以將你的右手食指放在' - '鍵上,你的小手指放在減號鍵的右側,右手的小指到'|'鍵上。鍵。然後它不會導致你輸入一個 - >而不是一個點的開銷:)