Тут некоторые говорят, что в АСП есть механизмы, которых не зватает в ПХП. Предлагаю из интереса обсудить, различия в платформах и способы компенсировать их при переезде с одной на другую Прошу не превращать тему в споры о том, что лучше. Очевидно, что лучше то, к чему привык И то, чего требуют заказчики
Ok согласен! Никакой ругани, а просто сравниваем и пытаемся как-то сопоставить для выработки оптимального решения... Прошу заранее сорри за может быть некорректные термины и может за возможное незнание... Сразу прошу заметить, что в некоторых решениях АСП несомненно, проигрывает... Пока те грабли, с которыми я столкнулся при "переводе" сайта на ПХП: 1. Сессии и сессионные переменные На ПХП: своеобразный доступ к сессионным переменным - для меня было очень странно использовать конструкции типа session_start, чтобы получить к ним доступ... На АСП: Если есть сессия есть и переменные... 2. События session_onstart и session_onend На ПХП: такого рода событий и их обработчиков вообще нет... На АСП: все есть, все культурно работает... также есть и уровень приложения (Application)... Для формирования статистики или для пред и постскриптов лучше не придумаешь... 3. Работа с графикой (на примере создания превью) На ПХП: Очень порадовали функции библиотеки GD2. Все очень замечательно и просто! На АСП: Необходимо пользовать сторонние библитеки (хотя это не проблема таких хватает), но не всегда они есть у хостера, и часто просят денег... 4. Редирект.... На ПХП: Средств выполняемых на стороне сервера просто нет... остаются только header На АСП: Специальный оператор ответа Response.Redirect Пока все... может быть и что-то другое будет...
Небольшой оффтоп. Обратил внимание, что многие не ставят die() после редиректа. Вследствие этого скрипт продолжает отрабатывать как минимум до того, пока не сообразит, что браузер уже ушел по редиректу.
Нет, механизм абсолютно идентичен. Когда ты делаешь редирект в ASPm происходит то же самое: сервер отправляет заголовок Location по HTTP, и браузер идет в указанном направлении.
На самом деле механизм сессии в 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 Так что, видимо, основным препятствием написания хороших приложений являются заказчики этих самых приложений ))
Уважаемый Vladson, в начале этой темы мы договорились не разжигать холи-варов Пожалуйста, если вам не трудно, постарайтесь не переходить на личности. Это задевает даже меня, не говорившего такого Предметом обсуждения в данной теме являются не те, кто говорят, а то, о чем говорят Предлагаю о теме и говорить, а не о людях. А каждый уже сделает свои выводы. На то мы и обсуждаем, чтобы делать свои выводы.
Извени, я возможно был не прав... Конкретнее я видел десятки холи-варов, все заканчмваомсь одним и тем-же (тем что их начинали ламеры) (могу привести ссылки где фанаты "асп" утвепждали что в РНР нету даже "tydy")
Так и просится ответ: "Тебя не знаю, но скажу, что ты дурак, и все!" ))))) Народ, несмотря на название, речь не идет о том, что лучше. Так что тем, кто хочет обсудить, что лучше, предлагаю завести отдельную тему, и там и спорить. Не сомневаюсь, что на сайте php.ru победят сторонники php А тем, кто хочет поумничать, замечу: люди, которые думают, что знают все на свете, не нравятся мне - человеку, который действительно знает все на свете. И давайте не будем спорить со мной. Потому что истину знаю только я. А вы просто заблуждаетесь. Кто не согласен - создавайте отдельную тему в курилке. Прошу не оффтопить.
От этой досадной возможности не застрахован никто из нас ) Еще раз прошу обратить на тему: не "холи-вар"!!! Мне не интересно, что лучше. Мне интересно, как перейти с одной платформы на другую (в т.ч. и с PHP на ASP) с наименьшими потерями привычных удобств. Именно об этом тема. Хоть я и начал эту тему, ламером себя не считаю, и отношусь к себе с уважением. Как в принципе и ко всем собеседникам, чего и вам всем желаю. Ссылок на войны фанатов не надо - это оффтоп. Народ, читайте, прежде чем отвечать.
PHP умеет все, что умеет ASP. PHP - это даже не "серверная страница", а язык программирования. Поэтому я, без тени сомнения, скажу: "PHP рулит".
Ню-ню... Без тени сомнения могу возразить. А вообще скучно... Модер, убей тему. Все равно сюда никто ничего толкового не напишет.
Возможно, в PHP нет некоторых стандартных функций, которые есть в ASP, но на PHP можно реализовать любой проект, который можно реализовать на ASP. Я это имел ввиду.