внутренняя работа PHP (действительно длинный PHP-скрипт) - PullRequest
0 голосов
/ 27 декабря 2010

У меня очень длинный PHP-скрипт всего для 1 страницы, то есть что-то вроде:

mywebsite.com / page.php? ID = 99999

У меня есть около 10000-20000 случаев идентификатора, каждый с разными настройками. Это значительно замедлит мой сайт?

т.е. мой вопрос действительно соответствует тому, что происходит при выполнении php. выполняет ли его сервер и отображает ли результаты, или компьютер клиента загружает его, выполняет его и отображает результаты.

если последнее, означает ли это действительно медленное время загрузки? в каждом из 10000-20000 дел содержится около 20-25 строк кода после него.

спасибо, xoxo

Ответы [ 2 ]

1 голос
/ 27 декабря 2010

10000 до 20000 различных случаев звучит как кошмар.Хотя это технически возможно, мне трудно поверить, что ваши потребности в обработке требуют такого уровня детализации.

Действительно ли обработка в каждом из 10 000–20 000 случаев настолько различна, что для необходимо полностью отделить тестирование и обработка?Разве нет случаев, достаточно похожих для того, чтобы с ними обращались подобным образом?

Например, если обработка для дела $x = 5 выглядит примерно так:

echo 5;

А обработка для дела $x = 10 выглядит примерно так:

echo 10;

Затем они могут быть сгруппированы в один тест и один обработчик:

function dumbEcho($x){
    echo $x;
}

function isDumbEchoAble($x){
    return in_array($x, array(5,10));
}

if (isDumbEchoAble($x)){
   dumbEcho($x);
}

Для каждого структурно схожего набора обработки вы можете создать функцию isXXXAble () для тестирования и XXX() функция для обработки.[Конечно, это всего лишь простой пример, предназначенный для демонстрации принципа, концепции, а не обязательно кода, который вы можете скопировать / вставить в текущую ситуацию.]

Суть программирования - ИМХО - заключается внайдите эти структурные сходства, найдите параметризацию, достаточную для обработки уникальных случаев, а затем примените эту параметризованную обработку к этим случаям.

1 голос
/ 27 декабря 2010

Файл PHP обычно обрабатывается (интерпретируется) на веб-сервере, а выходные данные передаются клиенту.

Если сайт работает медленно или нет, это полностью зависит от того, что на самом деле делает скрипт PHP. Тем не менее, PHP-файл с 10000-20000 case s звучит очень, очень плохо с точки зрения кода. Тем не менее, это может хорошо работать в вашем случае (простите за каламбур).

Все сводится к тому, какой код фактически выполняется: вы просто печатаете различный текст в зависимости от заданного id или выполняете действительно дорогую операцию (например, создаете zip-файл, загружаете материал, вычисляете PI для последний знак после запятой, ...)?

...