Лучше иметь один uber-PHP AJAX-файл или файл для каждой функции? - PullRequest
1 голос
/ 30 мая 2011

Я создаю веб-сайт, который потребует много функциональности AJAX. В данный момент я создаю несколько файлов PHP, каждый из которых содержит обработку для каждой функции AJAX. Я просто понял, что альтернативой может быть создание файла uber-PHP, который будут запрашивать все вызовы AJAX, передавая конкретный параметр «cmd», указывающий, какие функции выполнять на стороне сервера. Есть ли недостатки / преимущества в любом подходе? Как это обычно делается?

Ответы [ 3 ]

2 голосов
/ 30 мая 2011

Есть несколько возможностей консолидации с большим сценарием обработчика / диспетчера AJAX. Вы можете проверить на HTTP_X_REQUESTED_WITH в центральном месте. И если вам нужна надлежащая авторизация для некоторых функций, сделайте это для всех запросов.

И, очевидно, вы также можете унифицировать формат вывода / обработку. Вместо того, чтобы реплицировать ответ заголовка, вам нужно написать это только один раз.

Но не стоит оценивать теорию производительности, стоящую за тем или иным подходом. Если вам не нужна очень простая функция обратного вызова (например, проверка словаря), для которой может быть полезен отдельный скрипт, обрабатывайте его одним большим скриптом ajax. Чаще всего центральный сценарий обеспечивает преимущества безопасности и обслуживания.

1 голос
/ 19 декабря 2013

Лично я делаю и то, и другое.

У меня есть основной скрипт, который включает отдельные скрипты с require_once();, в зависимости от того, какой из них нужен. (используя переменную switch и переменную get / post типа).

Таким образом, я могу обрабатывать определенные вещи в центральном месте, например, обработку заголовков.

И я также могу легко разделять скрипты без необходимости каждый раз читать 2-строчный файл.

1 голос
/ 22 августа 2013

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

То же самое касается импорта большого количества ненужных «инструментов» из отдельных файлов.

Выполняйте домашние задания один раз, перед развертыванием
- вместо 10.000.000 раз в день - это просто здравый смысл

Это помогает оставить «маркеры» в исходном коде,чтобы скрипт мог выполнять разбиение и автоматически включать инструменты / таблицы.
- некоторые умные ослы называют это ненужной (и опасной!) оптимизацией - они просто ленивы:)

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