Ce face cuvântul cheie „var” din PHP? (Programare, Php, Cuvânt Cheie)

joelpet a intrebat.

Aceasta este probabil o întrebare foarte banală, dar nu am reușit să găsesc răspunsul nici prin motoarele de căutare web, nici pe php.net. Vă rog doar să mă îndrumați unde pot citi despre acest lucru, dacă nu aveți timp să îmi explicați.

  1. Ce înseamnă cuvântul cheie ‘var’ în PHP?
  2. Există diferențe între PHP4 și PHP5?

Comentarii

  • Cred că atunci când ați pus această întrebare, pe 30 iulie 2009, acest lucru nu fusese încă publicat la php.net/manual/en/language.oop5.visibility.php?: „Notă: Metoda PHP 4 de declarare a unei variabile cu ajutorul cuvântului cheie var este încă acceptată din motive de compatibilitate (ca sinonim pentru cuvântul cheie public). În PHP 5 înainte de versiunea 5.1.3, utilizarea sa ar genera un avertisment E_STRICT.” Sau poate că nu o găsiseți. Dar răspunsul este clar precizat la php.net. –  > Por Jaime Montoya.
  • Este cu adevărat uimitor să vezi ce drumuri a parcurs PHP în acești ani! –  > Por Mehrdad Shokri.
8 răspunsuri
karim79

Este pentru declararea variabilelor membre ale clasei în PHP4 și nu mai este necesară. Va funcționa în PHP5, dar va genera un mesaj de eroare E_STRICT avertisment în PHP de la versiunea 5.0.0 până la versiunea 5.1.2, începând cu momentul în care a fost depreciat. Începând cu PHP 5.3, var nu mai este depreciat și este un sinonim pentru „public”.

Exemplu de utilizare:

class foo {
    var $x = 'y'; // or you can use public like...
    public $x = 'y'; //this is also a class member variables.
    function bar() {
    }
}

Comentarii

  • „Notă: Metoda PHP 4 de declarare a unei variabile cu ajutorul funcției var este încă acceptată din motive de compatibilitate (ca sinonim pentru cuvântul cheie public keyword). În PHP 5 înainte de versiunea 5.1.3, utilizarea sa ar genera un mesaj de tip E_STRICT avertisment.” php.net/manual/it/language.oop5.visibility.php EDIT: Tocmai am văzut că este a fost deja citat într-un alt răspuns. Dar ar trebui să-l editați pe al vostru în consecință. –  > Por Sk8erPeter.
  • Acest lucru implică faptul că este necesar de a utiliza public pentru o variabilă membră. Este adevărat acest lucru? Nu se poate pune pur și simplu $x;? –  > Por limeandcoconut.
  • deci este recomandat să rămânem doar cu public/private și să ignorăm complet var, deoarece nu ne facem griji cu privire la lucrul cu versiuni depreciate ale PHP? –  > Por NoodleOfDeath.
  • Începând cu 2019: php-fig.org/psr/psr-12/#43-properties-and-constants afirmă că var nu trebuie să fie utilizat, iar vizibilitatea trebuie declarată pentru toate proprietățile. –  > Por Charles Wood.
Gumbo

The var este utilizat pentru a a declara variabile într-o clasă în PHP 4:

class Foo {
    var $bar;
}

Cu PHP 5 vizibilitatea proprietăților și metodelor (public, , protected și private) a fost introdusă și astfel var este depreciată.

Comentarii

    17

  • În PHP 5.3 var este de-depreciat 🙂 –  > Por Ionuț G. Stan.
  • Dacă este de-deprecated, care este cea mai bună practică acum în 5.3 – să o folosesc sau să nu o folosesc? Se poate folosi în felul următor private var $foo = 'bar';? –  > Por Tom Auger.
  • Știe cineva de ce a fost eliminat? –  > Por Simon East.
  • 19

  • A fost nedepreciat în 5.1.3 – singurele motive invocate sunt „din motive de compatibilitate”. Cred că cea mai bună practică este să îl folosiți numai dacă aveți nevoie să fiți compatibil cu PHP 4. Cu siguranță nu faceți private var – care va strica lucrurile foarte repede, deoarece var este doar un sinonim pentru public în PHP 5. –  > Por cincodenada.
  • var nu este un sinonim adevărat pentru public deoarece nu poate fi utilizat pentru declararea membrilor statici sau a constantelor. –  > Por Colin O’Dell.

Citez din http://www.php.net/manual/en/language.oop5.visibility.php

Notă: Metoda PHP 4 de declarare a unei variabile cu ajutorul cuvântului cheie var este încă acceptată din motive de compatibilitate (ca sinonim pentru cuvântul cheie public). În PHP 5 înainte de versiunea 5.1.3, utilizarea sa ar genera un mesaj de tip E_STRICT avertisment.

Comentarii

  • Am făcut teste. Nu a fost returnat E_STRICT ! sandbox.onlinephpfunctions.com/code/… –  > Por Wallace Maxters.
  • @WallacedeSouza, acest lucru se datorează faptului că ați folosit PHP 7 în exemplul dvs. Nu era valabil doar în versiunile 5.0 – 5.1.3 – user5147563
Webeng

Răspundeți: De la php 5.3 și >, , se poate citi var este echivalent cu public atunci când se declară variabile în interiorul unei clase.

class myClass {
  var $x;
}

este același cu (pentru php 5.3 și >):

class myClass {
  public $x;
}

Istoric: Anterior, era norma pentru declararea variabilelor în clase, deși ulterior a fost depreciată, dar mai târziu (PHP 5.3) a devenit nedepreciată.

kta

Deci, în principiu, este un stil vechi și nu-l utilizați pentru versiunea mai nouă a PHP. Mai bine folosiți în schimb cuvântul cheie Public;dacă nu sunteți îndrăgostiți de cuvântul cheie var. Deci, în loc să folosiți

class Test {
    var $name;
}

Utilizați

class Test {
   public $name;
}

Comentarii

  • de ce spui asta? există vreo noutate despre var că este depreciat, de care nu am auzit? Cele două ar trebui să fie sinonime –  > Por NappingRabbit.
  • Din manualul PHP: „Metoda PHP 4 de declarare a unei variabile cu ajutorul cuvântului cheie var este încă acceptată din motive de compatibilitate (ca sinonim pentru cuvântul cheie public).” php.net/manual/ro/ro/language.oop5.visibility.php –  > Por Tomark.
xayer

În PHP7.3 încă funcționează…

https://www.php.net/manual/en/language.oop5.visibility.php

Dacă este declarată folosind var, proprietatea va fi definită ca fiind publică.

kumar

var este folosit ca public .dacă o variabilă este declarată astfel într-o clasă var $a;if înseamnă că domeniul său de aplicare este public pentru clasă. în cuvinte simple var ~public

var $a;
public

NappingRabbit

aici și acum în 2018 folosind var pentru declararea variabilelor este sinonimă cu public ca în

class Sample{
    var $usingVar;
    public $usingPublic;

    function .....

}