Нестатический метод Ошибка при изменении моей версии PHP [duplicate]

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

20
задан Sergiu Dumitriu 30 October 2013 в 23:35
поделиться

2 ответа

Это означает, что он должен называться как:

$timer = (new VTimer)->get($options['magic']);

Разница между static и non-static заключается в том, что первая не нуждается в инициализации, поэтому вы может вызвать classname, а затем добавить :: к нему и сразу вызвать метод. Например:

ClassName::method();

, и если этот метод не является статическим, вам необходимо его инициализировать следующим образом:

$var = new ClassName();
$var->method();

Однако в PHP 5.4 вы можете использовать этот синтаксис вместо этого как стенография:

(new ClassName)->method();
44
ответ дан freeek 19 August 2018 в 16:59
поделиться
  • 1
    Или, возможно, он должен изменить метод на статичный (поскольку это уже существующая база кода, запущенная в обновленной среде PHP). – webbiedave 30 October 2013 в 23:30
  • 2
    @webbiedave - да, это тоже сработает: P – mamdouh alramadan 30 October 2013 в 23:30
  • 3
    @mamdouh Ты замечательный, ошибка ушла. Спасибо за помощь. Приятного вечера. искренне, Жако – Novice Hobby PHP Boy 30 October 2013 в 23:34
  • 4
    @ user2938848 - добро пожаловать. Надеюсь, вы отметите ответ как принятый, так как он работает с вами :) – mamdouh alramadan 30 October 2013 в 23:48
  • 5
    Более быстрым вызовом: (новое ClassName) - & gt; method (); вы имеете в виду стенографию. Правильно? – Piyush Balapure 17 April 2015 в 04:28

Вы также можете изменить метод как статический:

class Handler {
    public static function helloWorld() {
        echo "Hello world!";
    }
}
3
ответ дан deadghost 19 August 2018 в 16:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: