За последние 24 часа нас посетили 16722 программиста и 1621 робот. Сейчас ищет 1341 программист ...

ASP vs PHP (не "холи-вар"!!!)

Тема в разделе "Прочие вопросы по PHP", создана пользователем Raa, 12 авг 2006.

  1. Raa

    Raa Активный пользователь

    С нами с:
    28 июл 2006
    Сообщения:
    209
    Симпатии:
    0
    Тут некоторые говорят, что в АСП есть механизмы, которых не зватает в ПХП. Предлагаю из интереса обсудить, различия в платформах и способы компенсировать их при переезде с одной на другую :)

    Прошу не превращать тему в споры о том, что лучше. Очевидно, что лучше то, к чему привык :) И то, чего требуют заказчики :)
     
  2. Slay

    Slay Активный пользователь

    С нами с:
    12 авг 2006
    Сообщения:
    9
    Симпатии:
    0
    Ok согласен! Никакой ругани, а просто сравниваем и пытаемся как-то сопоставить для выработки оптимального решения...

    Прошу заранее сорри за может быть некорректные термины и может за возможное незнание...

    Сразу прошу заметить, что в некоторых решениях АСП несомненно, проигрывает...

    Пока те грабли, с которыми я столкнулся при "переводе" сайта на ПХП:

    1. Сессии и сессионные переменные

    На ПХП:
    своеобразный доступ к сессионным переменным - для меня было очень странно использовать конструкции типа session_start, чтобы получить к ним доступ...
    На АСП:
    Если есть сессия есть и переменные...

    2. События session_onstart и session_onend
    На ПХП:
    такого рода событий и их обработчиков вообще нет...
    На АСП:
    все есть, все культурно работает... также есть и уровень приложения (Application)... Для формирования статистики или для пред и постскриптов лучше не придумаешь...

    3. Работа с графикой (на примере создания превью)
    На ПХП:
    Очень порадовали функции библиотеки GD2. Все очень замечательно и просто!
    На АСП:
    Необходимо пользовать сторонние библитеки (хотя это не проблема таких хватает), но не всегда они есть у хостера, и часто просят денег...

    4. Редирект....
    На ПХП:
    Средств выполняемых на стороне сервера просто нет... остаются только header
    На АСП:
    Специальный оператор ответа Response.Redirect

    Пока все... может быть и что-то другое будет...
     
  3. svk

    svk Активный пользователь

    С нами с:
    7 авг 2006
    Сообщения:
    506
    Симпатии:
    0
    Адрес:
    NetByNet
    PHP:
    1. <?php
    2. function ResponseRedirect($url)
    3. {
    4. header("Location: $url");
    5. return true;
    6. }
    7. ?>
    Не аргумент :)
     
  4. Slay

    Slay Активный пользователь

    С нами с:
    12 авг 2006
    Сообщения:
    9
    Симпатии:
    0
    svk
    Про header я в курсах только он выполняется на стороне клиента, а не сервера...
     
  5. Raa

    Raa Активный пользователь

    С нами с:
    28 июл 2006
    Сообщения:
    209
    Симпатии:
    0
    Небольшой оффтоп. Обратил внимание, что многие не ставят die() после редиректа. Вследствие этого скрипт продолжает отрабатывать как минимум до того, пока не сообразит, что браузер уже ушел по редиректу.
     
  6. Raa

    Raa Активный пользователь

    С нами с:
    28 июл 2006
    Сообщения:
    209
    Симпатии:
    0
    Нет, механизм абсолютно идентичен. Когда ты делаешь редирект в ASPm происходит то же самое: сервер отправляет заголовок Location по HTTP, и браузер идет в указанном направлении.
     
  7. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Тут не говорят
    Так говорят те кто не знает что есть в РНР а чего нет !!!
     
  8. Raa

    Raa Активный пользователь

    С нами с:
    28 июл 2006
    Сообщения:
    209
    Симпатии:
    0
    На самом деле механизм сессии в ASP и PHP тоже довольно похож. Отличие только в способе доступа к переменным сессии, и в способе хранения. Под апачем на каждый запрос запускается отдельный процесс (ничего не путаю?), следовательно все переменные PHP умирают вместе с процессом. Поэтому сессия хранится во внешнем источнике. По умолчанию - в файлах. В этом есть определенное достоинство. каждый запрос выполняется независимо, и если какой-то повиснет - его можно просто убить. В случае с ASP, кажется, прийдется перезагружать IIS, что приостановит работу сайта. Или что-то подобное... Точно не помню, помню только что из-за одного паршивого запроса останавливать приходилось все.

    По той же причине в PHP нет Application. Поскольку нет общего процесса, негде хранить объекты приложения. Тем не менее есть способы решить проблему.
    Первый способ - хранить информацию в общем хранилище данных: в базе данных или в файле.
    Второй способ - запуск объектов под демоном. Есть готовое решение: Script Running Magic, которое, к сожалению, сейчас работает только с четвертым PHP. Хотя, подобное не сложно организовать и самому. Идея в том, чтобы запустить объект Application под демоном, играющим роль общего процесса, а связь между процессом демона и скриптами обработки запросов HTTP организовать с помощью канала I/O stream: теми же сокетами (юниксовые или TCP/IP), что так же дает возможность расположить процесс Application на отдельном сервере. Прозиводительность, вероятно, будет пониже, чем если бы все это работало в рамках одного процесса. Однако, подозреваю, что при грамотной организации обмена данными между обработчиками запросов и демоном основные нагрузки будут ложиться вовсе не на эту задачу, и особенно бояться за потерю производительнсти не стоит.

    Да, вообще говоря, в ASP тоже много чего можно делать. С помощью COM-объектов сторонних производителей :) К сожалению все они платные, а без них ASP довольно скудн.

    Одной из слабых сторон ASP я считаю язык VBScript. После PHP пытался что-то написать красиво на VBS, и этот язык показался мне просто деревянным, хотя сам писал на нем довольно много. Его простота заставляет растягивать элементарные вещи на несколько строк, что забирает и время, и место. Однако, не стоит забывать про JScript, который так же с успехом можно использовать в ASP. Писать веб-приложения на JScript мне казалось куда удобнее и эффективнее. Только вот я ни разу не использовал JScript при выполнении заказа. Заказчики очень любят VBS, поскольку в нем они могут хоть что-то понять. И даже с появлением ASP.NET мне было трудно уговорить заказчика использовать C#, а не VB.NET :) Так что, видимо, основным препятствием написания хороших приложений являются заказчики этих самых приложений :)))
     
  9. Raa

    Raa Активный пользователь

    С нами с:
    28 июл 2006
    Сообщения:
    209
    Симпатии:
    0
    Уважаемый Vladson, в начале этой темы мы договорились не разжигать холи-варов :) Пожалуйста, если вам не трудно, постарайтесь не переходить на личности. Это задевает даже меня, не говорившего такого :) Предметом обсуждения в данной теме являются не те, кто говорят, а то, о чем говорят :) Предлагаю о теме и говорить, а не о людях. А каждый уже сделает свои выводы. На то мы и обсуждаем, чтобы делать свои выводы.
     
  10. NIKO

    NIKO Активный пользователь

    С нами с:
    10 фев 2006
    Сообщения:
    655
    Симпатии:
    0
    Адрес:
    Armenia
    Сообщение не читал, но скажу ПХП это круто и все!
     
  11. D.Lans

    D.Lans Активный пользователь

    С нами с:
    31 июл 2006
    Сообщения:
    345
    Симпатии:
    0
    Мне более чем хватает PHP.
     
  12. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Извени, я возможно был не прав...

    Конкретнее я видел десятки холи-варов, все заканчмваомсь одним и тем-же

    (тем что их начинали ламеры)

    (могу привести ссылки где фанаты "асп" утвепждали что в РНР нету даже "tydy")
     
  13. Raa

    Raa Активный пользователь

    С нами с:
    28 июл 2006
    Сообщения:
    209
    Симпатии:
    0
    Так и просится ответ: "Тебя не знаю, но скажу, что ты дурак, и все!" :))))))

    Народ, несмотря на название, речь не идет о том, что лучше. Так что тем, кто хочет обсудить, что лучше, предлагаю завести отдельную тему, и там и спорить. Не сомневаюсь, что на сайте php.ru победят сторонники php :)

    А тем, кто хочет поумничать, замечу: люди, которые думают, что знают все на свете, не нравятся мне - человеку, который действительно знает все на свете. И давайте не будем спорить со мной. Потому что истину знаю только я. А вы просто заблуждаетесь. Кто не согласен - создавайте отдельную тему в курилке. Прошу не оффтопить.
     
  14. Raa

    Raa Активный пользователь

    С нами с:
    28 июл 2006
    Сообщения:
    209
    Симпатии:
    0
    От этой досадной возможности не застрахован никто из нас :))

    Еще раз прошу обратить на тему: не "холи-вар"!!! Мне не интересно, что лучше. Мне интересно, как перейти с одной платформы на другую (в т.ч. и с PHP на ASP) с наименьшими потерями привычных удобств. Именно об этом тема.
    Хоть я и начал эту тему, ламером себя не считаю, и отношусь к себе с уважением. Как в принципе и ко всем собеседникам, чего и вам всем желаю.
    Ссылок на войны фанатов не надо - это оффтоп.

    Народ, читайте, прежде чем отвечать.
     
  15. Davil

    Davil Guest

    PHP умеет все, что умеет ASP. PHP - это даже не "серверная страница", а язык программирования. Поэтому я, без тени сомнения, скажу: "PHP рулит".
     
  16. Raa

    Raa Активный пользователь

    С нами с:
    28 июл 2006
    Сообщения:
    209
    Симпатии:
    0
    Ню-ню... Без тени сомнения могу возразить.

    А вообще скучно... Модер, убей тему. Все равно сюда никто ничего толкового не напишет.
     
  17. Davil

    Davil Guest

    Возможно, в PHP нет некоторых стандартных функций, которые есть в ASP, но на PHP можно реализовать любой проект, который можно реализовать на ASP.
    Я это имел ввиду.