Я пишу простой плагин для поиска в реальном времени.Я получаю доступ к ресурсам внешнего веб-сайта через API и отображаю результаты, которые соответствуют тому, что пользователь ищет, по мере их ввода.Я планирую написать веб-сервис, который будет делать это.Я передам пользовательский ввод как один из аргументов в ajax.call, а затем моя функция веб-сервиса выдаст предложенный результат.Мне интересно, нужно ли использовать веб-сервис, поскольку я не получаю и не возвращаю какие-либо данные из базы данных Moodle и не хочу сохранять предложения, а только отображать их.
Пока я использую XMLHttpRequestвызвать внутренний файл php в моем плагине, который подключается через API и возвращает результат, но я хотел бы знать, если есть рекомендуемый способ сделать это.
//the ajax call
ajax.call([{
methodname: 'block_xxxx_loadpages',
args: {userinput: userinput},}])
// the webservice function
class block_xxxx_external extends external_api {
//parameters
public static function loadpages() {
return new external_function_parameters (
array('userinput' => new external_value(PARAM_TEXT, 'the user input'))
);
}
//the function
public static function loadpages($userinput = 'userinput') {
//parameter validation
$params = self::validate_parameters(self::hello_world_parameters(),
array('userinput' => $userinput));
//connect to api and return the result page matching the userinput
return $result;
}
public static function loadpages_returns() {
return new external_value(PARM_TEXT, 'the result')
}
}