Intereting Posts
Объединение данных из XML-файлов с помощью XSLT в PHP Как добавить запрос сортировки в laravel Журнальный журнал запросов Laravel Eloquent Добавьте «Watermark» к изображениям с помощью php Почему этот вызов PHP для json_encode бесшумно терпит неудачу – неспособность обрабатывать одиночные кавычки? Как увеличить тайм-аут выполнения в php? Использование бродяг и усадьбы для нескольких сайтов и для каждой установки проекта PHP находит несколько фигурных скобок в строке и заменяет текст внутри Как сохранить пользователей образа пути в базу данных: Codeigniter как получить подкатегорию третьего уровня в верхнем меню Opencart v2.3 Любой способ определить выбранный внутри тега <select>, а не на <option> Как использовать пользовательскую функцию MySQL из PHP? Создание формы поиска в PHP для поиска в базе данных? Входной монитор FTP (при загрузке) Есть ли способ создать отдельные вкладки YouTube для каждого видео в списке воспроизведения YouTube?

Перевести функцию класса на лямбда-функцию

Я пытаюсь сделать что-то вроде этого:

class helper { .. some class variables .. public function somehelper ($somevar) { .. some action .. } } 

to – $somehelper('somevar!')

Я хочу, чтобы это была лямбда-функция без объявления новой лямбда-функции. Я хочу, чтобы код создавался автоматически. Я хочу создать эту лямбда-функцию автоматически через основной класс, который будет создан для каждой вспомогательной функции – лямбда-функции с именем функции. Я не хочу его указывать. У меня есть файл шаблона и экземпляр помощника класса. <a href..><?= $makeSeo($url); ?></a> <a href..><?= $makeSeo($url); ?></a> это приведет к – public function makeSeo($url) в вспомогательном классе. autmatically.

Заранее спасибо!

Похоже, вы хотите что-то создать лямбда с именем метода? Предполагая, что методы класса «Помощник» статичны, что-то вроде этого будет делать это

 function makeHelper($fn) { //note use of PHP5.3 closure syntax $helper = function($param) use ($fn) { return Helper::$fn($param); }; return $helper; } //create a new lambda $foo=makeHelper('somehelper'); //call it... $foo('Hello world); 

Я думаю, вы говорите, что хотите переменную $somehelper вызвать helper::somehelper извне контекста класса.

 $somehelper = function($somevar) { return helper::somehelper($somevar); }); 

Предположим, что somehelper предназначен для статической функции (т. somehelper Должен быть помечен как public static function . Если это не так, вам нужно будет предоставить дополнительную информацию о том, откуда приходит экземпляр класса.