PHP ВЫЗОВ МЕТОДА КЛАССА ПО ПЕРЕДАННОЙ СТРОКЕ

Часто бывает необходимость вызвать метод класса, название которого передается в виде строки. Для этого в PHP существует функция call_user_func(), которая позволяет вызвать функцию или метод класса по переданному имени.

Функции можно вызывать так:

function myFunction($arg1, $arg2) {
// код функции
}
call_user_func('myFunction', $val1, $val2);

При вызове методов класса нужно передавать массив с объектом класса и названием метода. Также можно передать аргументы метода в виде отдельных параметров:

class MyClass {
function myMethod($arg1, $arg2) {
// код метода
}
}
$obj = new MyClass();
call_user_func(array($obj, 'myMethod'), $val1, $val2);

Если необходимо передать переменную с названием метода, можно воспользоваться функцией call_user_method(), но она уже устарела и в более новых версиях PHP не работает. Вместо нее следует использовать методы класса через переменную:

class MyClass {
function myMethod($arg1, $arg2) {
// код метода
}
}
$obj = new MyClass();
$method = 'myMethod';
$obj->$method($val1, $val2);

Паттерн Фабрика на реальном примере в PHP

Основы php. Строковые функции

Методы в php - часть 1 - Базовый курс PHP-7

#54 Уроки PHP - Учим язык PHP, Наследование и перегрузка методов на языке PHP

Конструктор и Деструктор в php - Базовый курс PHP-7

PHP 8.0 - 8.2 - Производительность и фичи

PHP ООП: внедрение зависимостей и магия рефлексии

Группируем функции по принципу: один класс - одна задача. PHP OOP

Реклама
Новое
Реклама