Что делает PHP ключевое слово var? - PullRequest
398 голосов
/ 30 июля 2009

Это, наверное, очень тривиальный вопрос, но я не смог найти ответ ни с помощью поисковых систем, ни на php.net. Пожалуйста, просто направьте меня туда, где я могу прочитать об этом, если у вас нет времени, чтобы объяснить.

  1. Что означает ключевое слово var в PHP?
  2. Есть ли различия между PHP4 и PHP5?

Ответы [ 7 ]

361 голосов
/ 30 июля 2009

Он предназначен для объявления переменных класса в PHP4 и больше не нужен. Он будет работать в PHP5, но будет выдавать предупреждение E_STRICT в PHP с версии 5.0.0 до версии 5.1.2, когда оно устарело. Начиная с PHP 5.3, var не устарел и является синонимом 'public'.

Пример использования:

class foo {
    var $x = 'y'; // or you can use public like...
    public $x = 'y'; //this is also a class member variables.
    function bar() {
    }
}
75 голосов
/ 30 июля 2009

Ключевое слово var используется для объявления переменных в классе в PHP 4 :

class Foo {
    var $bar;
}

С PHP 5 свойство и метод видимости (public, protected и private) были введены и, таким образом, var устарела.

23 голосов
/ 02 октября 2010

Я цитирую http://www.php.net/manual/en/language.oop5.visibility.php

Примечание. Метод объявления переменной PHP 4 с ключевым словом var по-прежнему поддерживается в целях совместимости (как синоним открытого ключевого слова). В PHP 5 до 5.1.3 его использование генерировало бы предупреждение E_STRICT.

4 голосов
/ 24 мая 2016

Ответ: Из php 5.3 и > ключевое слово var эквивалентно public при объявлении переменных внутри класса.

class myClass {
  var $x;
}

совпадает с (для php 5.3 и >):

class myClass {
  public $x;
}

История: Раньше это было нормой для объявления переменных в классах, хотя позже это стало амортизироваться, но позже (PHP 5.3) оно стало устаревшим.

2 голосов
/ 29 декабря 2016

Так что в основном это старый стиль и не используйте его для новой версии PHP. Вместо этого лучше использовать ключевое слово Public, если вы не влюблены в ключевое слово var. Поэтому вместо использования

class Test {
    var $name;
}

Использование

class Test {
   public $name;
}
0 голосов
/ 18 января 2018

здесь и сейчас в 2018 использование var для объявления переменной является синонимом public, как в

class Sample{
    var $usingVar;
    public $usingPublic;

    function .....

}
0 голосов
/ 26 июля 2017

var используется как public. Если varable объявлен так в классе var $ a; if означает, что его область является общедоступной для класса. в простых словах var ~ public

var $a;
public
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...