Второй аргумент create_function должен быть допустимой строкой PHP.Вы должны сделать что-то вроде:
create_function("$color", 'return "Painting with the color" . $color;');
, кроме того, у вас есть другая ошибка: когда вы делаете return $ret_col;
, вы возвращаете лямбда-функцию, а не возвращаемое значение лямбда-функции, поэтому вы должны исправить свой код:
class House{
private $color;
public function paint($color){
$ret_col = create_function("$color", 'return "Painting with the color" . $color;');
return $ret_col;
}
}
$hs = new House();
$col = $hs->paint('red');
echo $col();
Обратите внимание на скобку после echo $col