Kasperenysh
@Kasperenysh
Рецидив в особо острой форме))

Как вызвать статический метод в другом классе?

Ребят, пытаюсь познать дзен в ООП... насколько помню, статические методы можно вызывать без создания экземпляра класса... вот интересно, как можно вызвать статический метод в методе другого класса? Гугл что-то мне не дал инфы про статику..
class A {
  public static function say() {
    echo 'hello';
  }
}

class B {
  public function say_a() {
    A::say();
  }
}

$test = new B;
$test->say_a();

Типа такого?
С утра напала философия... есть много классов в php с очень часто используемыми статическими методами, например, тот же PDO или DomDocument. вот интересно использовать эти методы в своих классах, под рукой только телефон, проверить нет возможности, да и наверно проще получить инфу от тех, кто шарит, чем самому методом тыка пытаться проверить... если где не прав - поправте, может синтаксис или так вобще нельзя делать? я не знаю.
  • Вопрос задан
  • 1173 просмотра
Решения вопроса 3
mad_maximus
@mad_maximus
Так и вызывать. Возьмите тот же Yii и Laravel, там такая ерунда в каждом классе.

P.S.: в пдо почти или совсем нет статики, через :: вызывают константы.
Ответ написан
Всё верно, статические методы можно вызывать без создания экземпляра класса в формате класс::метод()
Из статическим методов нельзя вызывать $this, еще при вызове статических методов не нужно глобально переменную класса объявлять через global $class_obj.
Ответ написан
@andreysuha
Что то знаю
Типа такого?

Да

да и наверно проще получить инфу от тех, кто шарит, чем самому методом тыка пытаться проверить...


Лучше почитать доку, попробовать метод тыка, а уже потом если ничего не получилось и зашёл в тупик и спрашивать у тех кто шарит
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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