38
3 РНР и ASP.NET.
ASP (Active Server Pages) — язык сценариев от Microsoft. Если язык ASP
значительно уступал РНР по многим параметрам, в первую очередь, по времени
выполнения сценариев, то с появлением технологии ASP.NET ситуация
изменилась.
Основное достоинство ASP.NET заключается в возможности применения
всей мощи интерфейса Windows для разработки Web-приложений. Это
позволяет разрабатывать страницы со
сложным интерфейсом, не заботясь о
сохранении, шифровании и передаче переменных, используемых на
динамических страницах.
ASP.NET тесно интегрирован в новую технологию NET компании
Microsoft. Главной особенностью разработки Web-приложений при помощи
ASP.NET является возможность использовать любой язык программирования
среды исполнения NET. Это может быть как модифицированный вариант
Visual Basic — Visual Basic.NET, так и новый язык С# или клон Java — J#.
Более того, в рамках одного Web-приложения
могут быть использованы
несколько языков программирования. Все это позволяет объединять в рамках
одного
проекта
программистов,
владеющих
разными
языками
программирования. Код Web-приложения на ASP.NET компилируется в
промежуточный язык MSIL (Microsoft Intermediate Language), иногда просто
называемый IL. Аппаратно-независимый код на языке IL помещается в кэш
Web-сервера для повышения производительности, по аналоги с байт-кодом
Java. Но в отличие от технологии Java, обеспечивающей платформенную
независимость, NET обеспечивает независимость от языка разработки.
Выполнение Web-приложений ASP.NET на
серверах, работающих не под
Windows, практически невозможно. Более того, если Web-приложение
интенсивно использует компоненты NET, просмотр динамической страницы
будет возможен только под Windows и только с помощью браузера Internet
Explorer. Поэтому в смысле переносимости РНР,
безусловно, отличается от
ASP.NET в лучшую сторону. Другой крайне немаловажный довод в пользу РНР
заключается в быстром исправлении обнаруженных ошибок. Теоретически
исправить их можно самостоятельно, если обладаете достаточной
квалификацией. Также можно написать письмо разработчикам, и с большой
долей вероятности, в следующей версии ошибка будет исправлена. А
версии
РНР выходят очень часто. С другой стороны, попробуйте написать об ошибке в
Microsoft и попросить ее исправить. Если вы не глава Пентагона, вам это вряд
ли удастся. Еще одним плюсом РНР, особенно важным для начинающих,
является то, что его легче использовать для построения Web-приложений.
Таким образом, при выборе между ASP.NET и РНР следует исходить из
стоящей задачи. Если в сети Интранет крупной корпорации большинство
серверов и клиентских машин работают под управлением Windows,
применение ASP.NET более чем оправдано. В то же время для разработки Web-
сайта, размещаемого в Интернете, целесообразнее использовать РНР [1].
39
4 РНР и ColdFusion.
Пакет ColdFusion разработан фирмой Allaire и предназначен для быстрой
разработки как интерактивных, так и динамических Web-документов путем
обработки информации, полученной из базы данных. Минусом ColdFusion
является достаточно низкая переносимость. РНР работает практически на всех
платформах, a ColdFusion — только на четырех: Win32, Solaris, HP/UX и Linux.
Кроме того, ColdFusion, так же как и ASP, является коммерческой разработкой.
ColdFusion достаточно мало распространен. По
сравнению с РНР он более
требователен
к
ресурсам.
Плюсом
ColdFusion
является
хорошая
интегрированная среда разработки и, как следствие, более простые, чем в РНР
языковые конструкции и более быстрое написание кода. Правда, из-за такой
высокоуровневости языка некоторые задачи на нем решаются сложнее [1].
5 Для создания интернет магазина была использована платформа PHP 4.0,
а в дальнейшем планируется перейти на PHP 5.0, так как основные отличия
заключаются в реализации объектно-ориентированной модели. РНР 4.0 работал
на движке Zend Engine 1.0. К выходу РНР 5.0 фирма Zend полностью
переписала движок и выпустила в свет Zend Engine 2.0, который, по словам
создателей, реализует "новую объектную модель". По сравнению с РНР 4.0, в
пятой версии языка появились следующие особенности:
а Введены закрытые (private) и открытые (protected) члены и методы
класса, а также абстрактные классы и методы.
б Введены интерфейсы, при этом класс может реализовывать
произвольный список интерфейсов.
в В РНР 5 также присутствуют расширенные возможности для
клонирования объектов. Предназначенный
для этого конструктор
копирования позволяет не просто идентично клонировать объекты, а
изменять при этом некоторые их свойства.
г Введены постоянные члены и методы класса.
д Одним из важнейших нововведений является наличие деструкторов
[1].
6 Хорошей новостью является введение в РНР 5.0 статических членов
класса. В РНР 4.0, если возникала необходимость в использовании статических
членов, приходилось пользоваться искусственным приемом, заключающемся в
комбинации глобальных переменных со статическими методами. При этом
получались члены, которые действовали так же, как статические. Прием этот,
мягко говоря, не очень хороший, поскольку привносил с собой все проблемы,
связанные с использованием глобальных переменных. Теперь в РНР 5.0
статические методы можно объявлять явно при помощи ключевого слова static
[1].
7 В РНР 5.0 введен механизм обработки исключений, отсутствующий в
РНР 4.0.
Таким образом, в результате подобных нововведений в объектную модель
РНР 5.0 стал полностью профессиональным языком программирования, что
позволяет использовать его для решения задач любой степени сложности.