.NET без ASP.NET или как использовать технологию Microsoft средствами PHP
Долгое время мы ничего не знали о том, что скрывается под странным буквосочетанием NET, о котором Microsoft впервые дала знать в 2001 году. Тем временем концепция уже стала известной: основным компонентом .NET является .NET Framework - мощная библиотека классов, функции которой рассчитаны на все случаи жизни. Программы .NET могут обращаться к библиотеке и пользоваться ее функциями.
Однако здесь просматривается один существенный недостаток. Эта библиотека должна быть установлена у клиента, только тогда программы .NET смогут ей пользоваться. Следовательно для работы NET-Software необходимо установить .NET Framework. К счастью библиотека распространяется бесплатно и доступна через Windows Update (как опциональный компонент).
CGI-программы часто написаны на каком-нибудь интерпретируемом языке (PHP, Perl, Bash, Phyton и др.) Также можно написать программу на компилируемом языке, например C, который и будет обрабатывать данные пользователя. Приведем пример CGI-программы на C:
Интерфейс CGI выполняет функции шлюза между различными программами, установленными на web-сервере, и браузерами пользователей. Когда браузер запрашивает определенный ресурс, web-сервер запускает программу, которая уже возвращает результат в браузер пользователя. Использование CGI-программ требуется, когда необходимо в браузере пользователя отобразить страницу, сформированную на основе каких-либо действий пользователя. Например, вы ввели в форму какие-либо данные, а на их основе формируется посылаемая вам страница. CGI-программа может также определить IP-адрес ващего компьютера в сети, и на основе его определить вашу страну, в итоге передав вам html-документ на вашем родном языке!
Термин CGI (Common Gateway Interface — Общий шлюзовой интерфейс) обозначает набор соглашений, которые должны соблюдаться Web-серверами при выполнении ими различных Web-приложений. Фактически, до недавнего времени все Web-программирование представляло собой программирование CGI-приложений. В последнее время ситуация изменилась. И хотя CGI все еще остается негласным стандартом для Web-приложений, механизм работы CGI-программ несколько обновился.
Предположим, вы набираете в вашем браузере http://www.server.com/path/pict.gif
После введенного вами http-запроса сервер отсылает вам запрошенную картинку формата GIF (конечно, если она доступна по указанному адресу). Однако сказать, что вы запросили именно картинку нельзя. Почему? Дело в том, что файл pict.gif может не быть картинкой и даже вообще не существовать. Удивлены? А это ни что иное, как проявление CGI. Во-первых файл pict.gif и путь /path/ могут не существовать, поскольку администратор web-сервера может настроить алиасы (псевдонимы) для данного объекта на сервере. Во-вторых, файл pict.gif может сформировать CGI-программа "на лету", передав в браузер готовую картинку в формате GIF. Вот именно в таком случае были использованы средства CGI. Данный механизм абсолютно незаметен для пользователя ресурса, которому все равно, каким образом в его браузере появилась картинка - браузер передал файл или файл передала программа. Подобным образом можно передавать и html-документы, в таком случае они могут формироваться программой динамически и передаваться браузерам
В последнее время все больше и больше приходит писем от наших посетителей, которые установив последнюю версию PHP 5.3.1 получают в работающих проектах подобные ошибки:
Deprecated: Function eregi() is deprecated in ...
Неприятная ситуация, когда проект работает и застает врасплох. Хорошо, что большинство хостеров не так быстро делают переход с версии PHP 5.2. на PHP 5.3. Но надолго ли?
Что такое DEPRECATED? Это некоторые параметры, функции и возможности, которые обозначены как НЕИСПОЛЬЗУЕМЫЕ и в последующих версиях будут УДАЛЕНЫ.
PEAR (PHP Extension and Application Repository - Репозиторий Приложений и Расширений PHP). Изначально, PEAR - это PHP-версия базовых классов. В будущем возможен его рост и становление ключевым способом публикации расширений PHP (также основанных на C) среди разработчиков.
PEAR зародился в ходе дискуссий на встрече разработчиков PHP, проходившей в январе 2000 года в Тель-Авиве. Автором PEAR является Стиг С. Баккен (Stig S. Bakken), который посвятил разработку своей первой дочери, Мэлин Баккен (Malin Bakken).
С начала 2000 года PEAR вырос до огромного проекта с большим количеством разработчиков, работающих над репозиторием для всего сообщества PHP. В настоящее время PEAR включает в себя широкий спектр классов для работы с базами данных, кэширования содержания, математических вычислений, электронной коммерции и многого другого.
Не так давно вышла новая пятая версия PHP - PHP5. Рассмотрим основные изменения.
Новая объектная модель Zend 2.0
Zend 1.0, а также более ранние версии "движка" PHP, нерационально использовали память, поскольку объекты обрабатывались как примитивные типы (переменные, списки), то есть посредством копирования. В новой объектной модели, которая используется в Zend 2.0 используется технология объектных дескрипторов, напоминающая аналогичную технологию в Java. Теперь объекты доступны только через дескрипторы, позволяя экономить память и получать полный контроль над созданием и дублированием объектов. О новых возможностях объектно-ориентированного программирования в PHP5 вы можете ознакомиться в специальном разделе.
Недавно вышла новая, пятая версия PHP (PHP5). PHP5 использует новую версию «движка» Zend – Zend Engine 2.
В PHP5 объектная модель была значительно переработана. При этом было добавлено много новых возможностей, благодаря которым PHP5 получил некоторые черты таких объектно-ориентированных языков, как C++ и Java.
Изменения коснулись производительности встроенных стандартных функций PHP. По некоторым оценкам, скорость работы стандартных функций в PHP5 увеличилась на 40% и более.
Появились новые директивы файла настройки php.ini .Претерпела изменения и поддержка потоков. Были добавлены новые функции, а также функции графической библиотеки GD.
К зиме 1998 года, практически сразу после официального выхода PHP 3.0, Энди Гутманс и Зив Сураски начали переработку ядра PHP. В задачи входило увеличение производительности сложных приложений и улучшение модульности базиса кода PHP. Расширения дали PHP 3.0 возможность успешно работать с набором баз данных и поддерживать большое количество различных API и протоколов, но PHP 3.0 не имел качественной поддержки модулей и приложения работали не эффективно.
Новый движок, названный 'Zend Engine' (www.zend.com) (от имен создателей: Zeev и Andi), успешно справлялся с поставленными задачами и впервые был представлен в середине 1999 года. PHP 4.0, основанный на этом движке и принесший с собой набор дополнительных функций, официально вышел в мае 2000 года, почти через два года после выхода своего предшественника PHP 3.0. В дополнение к улучшению производительности, PHP 4.0 имел еще несколько ключевых нововведений, таких как поддержка сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.