Laravel позволяет вызывать метод класса с помощью оператора разрешения области видимости (: :) без статического объявления метода.
В PHP вы можете вызывать методы stati c только тогда, когда они объявлены как таковые, например:
class User {
public static function getAge() { ... }
}
Может вызываться как User::getAge();
Как это можно сделать в обычном PHP классе. Я думаю, чтобы это было возможно, это должно быть сделано с использованием шаблона проектирования или чего-то еще. Кто-нибудь может мне помочь?
Итак, что я имел в виду под вышесказанным, так это то, что можно создать экземпляр класса и вызвать его метод статически в php. Поскольку эта функция была удалена из предыдущих версий
class Student {
public function examScore($mark_one, $mark_two) {
//some code here
}
}
Как получить к ней доступ таким образом
$student = new Student;
$student::examScore(20, 40);
И я говорил о Laravel, потому что она позволяет создавать псевдонимы для ваших классов и вызывать это таким образом Student::examScore(20,40);
То, что называется фасадным рисунком или около того. Может помочь объяснение с примером.
После долгих поисков я нашел статью, которая вроде бы объясняет это здесь:
https://www.sitepoint.com/how-laravel-facades-work-and-how-to-use-them-elsewhere