BadassRolf
@BadassRolf

Как вытащить значения из статичной функции?

Есть примерно такой код:
class ClassName
{
	
	function static funcName($param1, $param2)
	{
		mysqli_query("SELECT * FROM tablename WHERE name = $param1 AND id = $param2");
	}
	function funcNameSecond()
	{
		$res = blablabla->cache(ClassName::funcName()); <b>// описание ниже sub1</b>
	}
}


sub1) вот сюда как можно передать первую функцию с сохранением значений $param1, $param2
  • Вопрос задан
  • 253 просмотра
Пригласить эксперта
Ответы на вопрос 1
@MadridianFox
Web-программист, многостаночник
Что касается передачи функции с предзаполненными аргументами, то это похоже на каррирование, которое можно сделать через замыкание.
Вызов статического метода ClassName::funcName() вернёт функцию, которую можно будет вызвать.
class ClassName
{
  
  function static funcName($param1, $param2)
  {
    return function() use($param1, $param2){
          mysqli_query("SELECT * FROM tablename WHERE name = $param1 AND id = $param2");
    }
  }
  function funcNameSecond()
  {
    $parametrizrd_func = ClassName::funcName("John", 1);
    $res = blablabla->cache($parametrizrd_func); 
  }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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