437 Stimmen

Was bewirkt das PHP-Schlüsselwort 'var'?

Dies ist wahrscheinlich eine sehr triviale Frage, aber ich habe die Antwort weder über Suchmaschinen noch auf php.net finden können. Bitte verweisen Sie mich einfach darauf, wo ich darüber lesen kann, wenn Sie keine Zeit haben, es zu erklären.

  1. Was bedeutet das Schlüsselwort 'var' in PHP?
  2. Gibt es Unterschiede zwischen PHP4 und PHP5?

394voto

karim79 Punkte 333786

Sie dient zur Deklaration von Klassenvariablen in PHP4 und wird nicht mehr benötigt. Es funktioniert auch in PHP5, aber es wird eine E_STRICT Warnung in PHP ab Version 5.0.0 bis Version 5.1.2, ab wann sie veraltet war. Seit PHP 5.3 ist var nicht mehr veraltet und ist ein Synonym für "public".

Beispiel für die Verwendung:

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

79voto

Gumbo Punkte 617646

En var Schlüsselwort wird verwendet, um Variablen in einer Klasse in PHP 4 deklarieren :

class Foo {
    var $bar;
}

Mit PHP 5 Sichtbarkeit von Eigenschaften und Methoden ( public , protected y private ) wurde eingeführt und damit var ist veraltet.

27voto

taatparya Punkte 31

Ich zitiere aus http://www.php.net/manual/en/language.oop5.visibility.php

Hinweis: Die PHP 4-Methode, eine Variable mit dem Schlüsselwort var zu deklarieren, wird aus Kompatibilitätsgründen weiterhin unterstützt (als Synonym für das Schlüsselwort public). In PHP 5 vor 5.1.3 würde die Verwendung dieser Methode eine E_STRICT Warnung.

8voto

Webeng Punkte 6746

Antwort: Von php 5.3 und > die var Schlüsselwort ist gleichbedeutend mit public bei der Deklaration von Variablen innerhalb einer Klasse.

class myClass {
  var $x;
}

ist dasselbe wie (für php 5.3 und > ):

class myClass {
  public $x;
}

Geschichte: Es war früher die Norm für die Deklaration von Variablen in Klassen, wurde aber später abgeschrieben, aber später (PHP 5.3) wurde es nicht mehr abgeschrieben.

7voto

kta Punkte 18216

Es handelt sich also im Grunde um einen alten Stil, der für neuere PHP-Versionen nicht geeignet ist. Verwenden Sie stattdessen besser das Schlüsselwort Public; wenn Sie das Schlüsselwort var nicht mögen. Anstatt also zu verwenden

class Test {
    var $name;
}

使用方法

class Test {
   public $name;
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X