|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Michael Poliakov 2:5020/400 28 Feb 2001 14:35:14 To : All Subject : Re: PHP vs PERL - continue -------------------------------------------------------------------------------- On Wed, 28 Feb 2001 08:45:33 +0000 (UTC), "Nataly Devyatkina" <nat@finfort.com> wrote: >Hо мучаюсь вопросом: что будет потом эффективнее работать - cgi-шки или >phtml-ки? Эффективнее - в смысле времени исполнения на сервере, кому больше >памяти нужно, может, канал неодинаково подгружают, и т.п.? PHP работает шустрее, чем CGI. Похожего на PHP результата можно добиться, используя mod_perl. С помощью модуля Apache::Registry написание скриптов под mod_perl практически очень близко к написанию под CGI. Минус - надо ставить mod_perl и разбираться с ним, а в случае PHP все работает без дополнительного шаманства. >Есть что-то такое, что cgi может, а php - нет? >Может, в данном случае не стоит морочить голову php? (тем более, начинать >мне придется с нуля...) Лично мне под PHP3 работать крайне неприятно. PHP4 уже похоже на язык с нормальными возможностями, там даже (!) появились функции типа array_pop и array_shift (как сделать shift в PHP3, я так и не нашел в принципе), но глюков там очень даже есть. Во-первых, слишком много приходиться кодировать в лоб, например, писать явные циклы for () {} там, где в Perl'е просто сделал бы map или grep. Во-вторых, в PHP нет массивов. По сути массивы в PHP - это те же хэши, но с числами-ключами. Крайне неприятно, что pg_fetch_array возвращает фактически удвоенный хэш, где ключами служат И номера полей, И их значения. В-третьих, в PHP просто невозможное количество функций на каждый чих, и без справочника в соседнем окошке, к которому обращаешься каждые пять минут, писать у меня не получается. Поди вспомни, какой sort тебе нужен на этой строчке: uksort, uasort, ksort, asort, arsort или еще что. В-четвертых, при таком количестве функций естественно, что часто это работает не так, как ты думаешь, и даже не так, как написано в мануале. Классический пример - когда-то в одной из версий min() возвращал максимум, а max() - минимум. Выход новой версии - "примите у товарища брак и выдайте ему новый". В каждом нетривиальном случае надо читать комментарии пользователей к функциям в _онлайновом_ руководстве на php.net. В-пятых, надоедает избыточное кодирование, буквопечатание и лишние, казалось бы, проверки типа if ( !( file_exists("$DOCUMENT_ROOT/$mustbe") and is_file("$DOCUMENT_ROOT/$mustbe") ) ) {} ``It seems that is_file doesn't return true for a file that is 0 bytes... '' В Perl это было бы просто unless (-f "$DOCUMENT_ROOT/$mustbe" ) {} В общем, каждый раз, когда с PHP есть возможность вернуться к Perl'у, я это делаю. Michael Poliakov --- ifmail v.2.15dev5 * Origin: Nizhniny Novgorod Information Networks (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/20804442f1aa.html, оценка из 5, голосов 10
|