Perché le variabili PHP devono essere precedute da un simbolo di dollaro?

13

Capisco che tutte le variabili PHP devono essere precedute da un segno di dollaro (ad esempio $someValue = 1 ), ma perché è così? Perché è stata fatta questa scelta progettuale?

Il motivo per cui chiedo è la mia ragazza ha chiesto perché quando ho detto che le variabili PHP devono iniziare con un segno di dollaro, e ho capito che non avevo idea del perché questa scelta sintattica è stata fatta.

Qualche idea?

    
posta Ivan 14.12.2011 - 06:28
fonte

2 risposte

8

Beh, non sono nemmeno un grande fan del $$$ (non mi interessa davvero quanto sia costata la variabile). Ma viene da Perl.

I linguaggi di scripting interpretati come perl o php usano $ per identificare rapidamente e analizzare le variabili. È solo un'ottimizzazione dell'interprete. Ma sicuramente non è un'ottimizzazione per il programmatore!

    
risposta data 14.12.2011 - 06:34
fonte
5

PHP Inizialmente era una meta-sintassi che è stata analizzata e semplicemente chiamata dinamicamente in funzioni di c-programmi compilate.
In questo modo puoi pensarlo come un programma "shell" per il "web" ...
Non c'è da meravigliarsi se sono state usate variabili con $ dollarsigns simili alle variabili di shell.

Quando avevo 12 anni e stavo imparando PHP 3 ... come il mio primo linguaggio di programmazione, avere reso la vita molto più semplice. Sapevo cosa fosse una variabile, ma avere un promemoria in tutto il codice sorgente che leggevo rendeva possibile l'apprendimento ... non sono sicuro che sarei qui oggi se non avessi iniziato su PHP.

Ecco un esempio di - > link

<!--include /text/header.html-->

<!--getenv HTTP_USER_AGENT-->
<!--ifsubstr $exec_result Mozilla-->
  Hey, you are using Netscape!<p>
<!--endif-->

<!--sql database select * from table where user='$username'-->
<!--ifless $numentries 1-->
  Sorry, that record does not exist<p>
<!--endif exit-->
  Welcome <!--$user-->!<p>
  You have <!--$index:0--> credits left in your account.<p>

<!--include /text/footer.html-->
    
risposta data 14.12.2011 - 08:51
fonte

Leggi altre domande sui tag