Что делает PHP ключевое слово var?

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

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

7 ответов

Решение

Он предназначен для объявления переменных класса в 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() {
    }
}

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

class Foo {
    var $bar;
}

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

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

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

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

class myClass {
  var $x;
}

такой же как (для php 5.3 и >):

class myClass {
  public $x;
}

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

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

class Test {
    var $name;
}

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

class Test {
   public $name;
}

В PHP7.3 все еще работает...

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

Если объявлено с использованием var, свойство будет определено как общедоступное.

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

var $a;
public

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

class Sample{
    var $usingVar;
    public $usingPublic;

    function .....

}
Другие вопросы по тегам