Конструкция return require '/path/to/file.html';
работает
А при использовании return echo $data['html'];
возникает ошибка
PHP Parse error: syntax error, unexpected 'echo' (T_ECHO)
Почему?
Функция echo() в php не имеет возвращаемого значения, а return ожидает получить параметр, который обозначает какое либо значение и void функция в этом месте указана быть не может. В отличии от него require
может возвращать значение (согласно описанию конструкции include).
Чтобы получить в переменную вывод из require, используйте буфер php:
ob_start();
require '/path/to/file.html';
$output = ob_get_clean();
Хотя, по уже выбранному лучшему ответу, примерно понятно, что вам было нужно. Но, возможно, при "другой" реализации будет полезна лямбда с замыканием (не, помню, с каких версий это работает):
<?php
function test($data) {
return function($data) use ($data) {
echo $data['html'];
};
}
$data = ['html' => 'hello'];
$f = test($data);
$f();
Виртуальный выделенный сервер (VDS) становится отличным выбором
Работаю с механизмом снапшотовВместо хранения и удалённого краулера prerender предпочёл разместить всё на своём сервере
Программа после успешной регистрации отправляет ajax post запрос в registerController, запрос проходит валидацию, если все успешно должен произойти...
Есть ли уже плагины с русской морфологией для elasticsearch 62 ?
На сайте есть галочка(запомнить меня), всё работаетНо теперь не заносятся данные в неё