Как вызвать функцию класса PHP напрямую с помощью Ajax? - PullRequest
0 голосов
/ 08 июня 2010

Можно ли напрямую вызывать функцию класса php, используя ajax?

Что-то вроде ниже ... кроме ajax ...

myclass::myfunction();

Я использую библиотеку jquery для работы с AJAX.

$.get('control.php', {func: funcName, arg1: arg1});

Вышепохоже на то, что я пытаюсь достичь МИНУС в control.php;

Я не уверен, возможно ли это вообще, но я просто подумал, что было бы неплохо пропустить целевую страницу (control.php), который получает funcName.У меня есть несколько условных операторов, которые сортируют, какую функцию класса запускать, основываясь на полученном funcName.

Кажется глупым делать это, иметь отдельную страницу только для обработки вызовов функций.

Есть ли лучший способ?

Ответы [ 4 ]

5 голосов
/ 08 июня 2010

Нет.

Если бы это было возможно, это была бы зияющая дыра в безопасности.

0 голосов
/ 08 июня 2010

Нет по соображениям безопасности, но нет причины, по которой вы не можете сделать что-то подобное

function run($args){
  //do stuff
}

echo run($_REQUEST);
//or
echo run($REQUEST['name']);
0 голосов
/ 08 июня 2010

Это невозможно по простой причине. Как AJAX должен знать, где найти функцию. У него должен быть URL, чтобы найти функцию, чтобы он не работал без php-файла между ними.

0 голосов
/ 08 июня 2010

Нет. Вы не можете вызывать метод напрямую таким образом.

Вы можете использовать маршрутизацию (как метод, используемый в CodeIgniter и CakePHP), но это всего лишь синтаксический сахар, который делает то же самое - контролирует ваши маршруты к действиям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...