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

378

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

  • Что означает ключевое слово 'var' в PHP?
  • Существуют ли какие-либо различия между PHP4 и PHP5?
  • 1
    Я думаю, когда вы задавали этот вопрос 30 июля 2009 года, он еще не был опубликован на php.net/manual/en/language.oop5.visibility.php ?: «Примечание. Метод PHP 4 для объявления переменной с помощью Ключевое слово var по-прежнему поддерживается в целях совместимости (в качестве синонима открытого ключевого слова). В PHP 5 до 5.1.3 его использование приводило к предупреждению E_STRICT. " Или, может быть, вы не нашли его. Но ответ четко изложен на php.net.
Теги:
keyword

6 ответов

331
Лучший ответ

Это для объявления переменных-членов класса в 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() {
    }
}
  • 9
    «Примечание. Метод объявления переменной PHP 4 с ключевым словом var по-прежнему поддерживается в целях совместимости (как синоним public ключевого слова). В PHP 5 до E_STRICT 5.1.3 его использование E_STRICT предупреждению E_STRICT ». php.net/manual/en/language.oop5.visibility.php РЕДАКТИРОВАТЬ: я только что увидел, что это уже было указано в другом ответе . Но вы должны отредактировать свой соответственно.
  • 0
    Это подразумевает, что необходимо использовать ключевое слово public для переменной-члена. Это правда? Нельзя просто положить $x; ?
Показать ещё 1 комментарий
66

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

class Foo {
    var $bar;
}

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

  • 14
    В PHP 5.3 var устарела :)
  • 8
    Если это устарело, какова лучшая практика сейчас в 5.3 - использовать это или не использовать? Можете ли вы использовать его как private var $foo = 'bar'; ?
Показать ещё 3 комментария
22

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

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

  • 0
    Я делал тесты. Нет возврата E_STRICT! sandbox.onlinephpfunctions.com/code/...
  • 0
    @WallacedeSouza, это потому, что вы использовали PHP 7 в вашем примере. Недействительно только в версиях 5.0 - 5.1.3
1

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

class myClass {
  var $x;
}

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

class myClass {
  public $x;
}

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

0

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

var $a;
public
0

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

class Test {
    var $name;
}

Используйте

class Test {
   public $name;
}
  • 0
    почему ты сказал это? есть ли известие об устаревшем var , которое я не слышал? два должны быть синонимами

Ещё вопросы

Сообщество Overcoder
Наверх
Меню