От интерпретатора к компилятору
О PHP
PHP был придуман уже довольно давно. Сразу язык существенно не облегчал жизнь вебмастеру, он мог лишь несколько облегчить какие-то задачи, но в процессе своего развития он совершенствовался и сейчас для описания его возможностей не хватит одного человека, здесь нужны многие специалисты, которые будут повествовать в течение нескольких лет всю суть и способности данного языка программирования. Сейчас любой человек может узнать и постичь азы этого языка, сформировать свои причины изучения, ведь каждый берется за познание той или иной сферы по какой-то причине. Приложения, гостевые книги, маленькие сайты, сайты-визитки, большие и многофункциональные проекты – все это стало возможным за счет языка php. Он вобрал в себя столько, что сейчас зная данный язык, можно сделать невозможное. С уверенностью можно сказать, что в настоящее время этот язык – самый популярный и в то же время самый лучший язык программирования.
История PHP
История развития языка php интересна и увлекательна. Свое начало она берет в 1994 году, когда разработчик Расмус Ледфорд решил создать для своей домашней странички набор скриптов, которые бы смогли показать посещаемость его проекта, который он вел в сети интернет. На странице, где он установил данный скрипт, было расположено его резюме, поэтому для него было очень важно узнать какое количество просмотров в сутки у данной страницы. Доделав набор, он его назвал Personal Home Page Tools, что означает «Инструменты для персональной домашней странички», то есть, для его страницы с резюме. Чуть позже, Расмус решил усовершенствовать свой скрипт и на языке Си создал такую версию, которая работала с базой данных. Это уже позволяло многим пользователям использовать данный продукт для своих Web – приложений.
Спустя 3 года в мире появляется PHP/FI2.0, выполняющий обязанности интерпретатора форм. В то время уже существовал язык , поэтому многие стали использовать данную связку для своих проектов. Над ним трудилось трое разработчиков и это позволило данному языку расшириться настолько, что уже в этом году 50 тысяч доменов использовали функции и возможности PHP/FI2.0. Сразу после такого быстрого прорыва началась активная разработка новых версий, куда должны были входить все более новые возможности, в итоге, был создан PHP 3.0, сегодня он напоминает PHP - сценарии.
Сразу разработчики решили делать откровенно новый язык, в разработке которого могли бы участвовать многие люди, то есть, абсолютно все желающие. Команда программистов постепенно расширялась, сюда вступали: Зеев Сураски (Zeev Suraski), Энди Гутмане (Andi Gutmans). Эти люди решили переписать заново весь код, чтобы сделать PHP/FI2.0 более пригодным для электронного мира. Новая команда стала единой и добивалась новых высот, в итоге они участвовали в разработке языка PHP 3.0. Спустя некоторое время новый язык программирования был способен отлично работать с базами данных, функционировать с API, а также выполнять многие протоколы. Языку было присвоены объективно-ориентированное программирование, которое позволило выйти на новую стадию разработки. Спустя год в 1998 вышла официально законченная версия PHP 3.0, где были выявлены и устранены все существующие ранее недочеты. Но после официального выпуска аббревиатура осталась та же, но смысл ее поменялся полностью. Теперь означало Hypertext Preprocessor, то есть препроцессор гипертекста. Дальше была поставлена новая задача: решить проблему с производительностью в то время, когда код работает со сложными сценариями. Вся их работа влилась в новую систему управления Zend Engine – именно с ее помощью можно было работать с PHP. Это позволило существенно увеличить возможности языка, теперь он справлялся не только с нагрузкой во время сценариев, но также с буферизацией, с большими потоками информации, которая исходила от пользователя. Но самое главное вся информация стала обрабатываться в более безопасном режиме, что уже улучшило отношение многих разработчиков к данному языку. Следующей веткой развития стал 2000 год, когда вышел официальный PHP 4.0.
Язык PHP развивался довольно быстро. Он ничуть не уступал существующим ранее языкам, а также многим новым, которые появлялись на свет. Позже, благодаря тому, что в мир вышла вторая версия движка Zend Engine, вышла следующая версия программного языка, он стал еще мощнее, быстрее и производительнее. PHP 5.0 существенно облегчил свой код. Были устранены все недочеты. Теперь с уверенностью можно сказать, что данный язык представляет интерес многим вебмастерам со всего мира. Если учесть то, что с каждым годом данный язык привлекал к себе все больше людей и разработчиков, которые пользовались его возможностями, то весьма вероятно, что этот язык стал самым лучшим из всех существующих, так как позволял решать любые задачи.
Почему именно PHP?
Почему многие вебмастера выбирают именно PHP, чем он так привлекателен в отличие от многих других языков, таких, как ASP или Perl?
Поначалу данный язык получил широкое применение, ввиду того, что был доступен всем и каждому, то есть любой желающий мог получить совершенно бесплатно доступ к редактированию кода и устранению ошибок при их обнаружении. Это привлекало многих, кто хотел создавать многофункциональные сайты, поэтому язык стал распространяться очень быстро, и желающих воспользоваться бесплатной версией становилось все больше.
Стоит уделить внимание его производительности. Если обратиться к истории данного проекта, то можно прийти к выводу, что версия 3.0 не была настолько мощной, как все последующие, ведь сразу разработчики пытались сделать каркас, который бы позже сформировал целую структуру будущего многофункционального языка. Версии 4.0 и 5.0 стали производительнее. Они справлялись с многими сложными операциями. С большими потоками данных, а также показывали быструю скорость чтения всех сценариев. Сейчас PHP ничуть не уступает по производительности ASP или Perl, даже наоборот показывает невероятно хорошие результаты, за счёт того, что к нему подключаются также библиотеки скриптов на Си. Благодаря Си возможностей становится больше, нежели у перечисленных выше программных языков.
В отличие от других языков, PHP может работать с многими операционными системами. Именно это позволяет многим компаниями пользоваться данным программным языком, ведь всегда можно перенести код с одной ОС на другую. Все написанные программы и скрипты отлично функционируют, как на Windows, так и на Linux, что позволило PHP выйти существенно дальше в отличие от своих прямых конкурентов, которые могут работать, к примеру, как ASP только с серверами IIS, разработанными компанией Microsoft.
Разрабатывать программы и различные формы можно в любом приложении, самым простым примером для PHP может послужить на Windows – Блокнот, который устанавливается при установке операционной системы на компьютер. Если вы предпочитаете Unix, то это будет Emacs.
Стоит уделить внимание, когда вы работаете с форматом *.doc, то есть, с файлами офиса – Microsoft Office Word. Такие файлы необходимо сохранять только в формате простого текстового документа или формате PHP, если же, этого не сделать, то код работать не будет. Начинающие разработчики по ошибки выбирают эту программу, хотя она предназначена только для набора текста, никакие другие задачи для этого не подходят.
Следующим преимуществом является простота синтаксиса. Он отличается от синтаксиса Perl – это еще одно достоинство PHP. Без сомнений Perl остается одним из самых мощных, а также самых надежных языков, его возможности и способности применяются в случае сложных задач, которые становятся перед передовыми разработчиками в сети интернет. Но его сложность заключается в том, что он использует очень сложный синтаксис, который уступает по своей доступности и легкости PHP.
Все эти качества и характеристика языка PHP послужили тому, что он стал одним из самых популярных при создании нового проекта. Он отлично подходит для сайтов разных сложностей. На его структуре можно создавать дизайн, делать шаблон, внешний вид сайта, сейчас он стал настолько популярным, что используется на 15 миллионах площадках. Везде уровень сложности кода, зависит от глубины познания владельца того или иного ресурса. Такая большая аудитория говорит о том, что язык PHP будет постоянно развиваться и расти, его поклонников с каждым годом будет все больше.
Как это все работает?
Сегодня практически везде используются скрипты, разработанные с помощью данного языка. Пользователи вряд ли когда-то задумываются, как это может работать, как можно отправлять электронную почту за пару секунд, как можно общаться в чате, когда два собеседника находятся на разных континентах. Безусловно, в этом прямая заслуга интернета, но все же, интернет не развивался бы без языков программирования, ведь сейчас именно программы делают всю функциональность такого масштабного проекта, как глобальная сеть интернет. Для разработчика самое главное предоставить своему пользователю внешний вид, то есть показать лишь поверхность того, что он сделал, пользователь не углубляется внутрь, он смотрит сверху и видит лишь удобный интерфейс, которым он при необходимости работает ежедневно. Чтобы научиться разрабатывать что-то на php необходимо для начала уловить суть работы данного языка.
Первым отличием является то, что разделяется на серверный язык, а также на тот, который использует клиент. Серверный язык обрабатывает все программы на сервере, то есть главной, движущей силой этого процесса является именно сервер. Стоит сразу же сказать, что сервер – это тот же компьютер, который предоставляет доступ к своим данным многим другим компьютерам, которые подключены к глобальной сети. Любой сервер выполняет операции по зову клиента, на пример, если у пользователя установлен один из популярных браузеров, и он обращается с его помощью к серверу, то данный компьютер отвечает ему запросом, который обрабатывается и выдает полнофункциональную страничку. Обращение к серверу происходит тогда, когда пользователь хочет зайти на любую страничку того или иного сайта, в результате браузер обрабатывает данные сервера и выдает полный рисунок, другими словами - интерфейс сайта.
Можно проанализировать, как работает данный процесс, когда пользователь обращается к серверу с помощью своего браузера. Такая операция выполняется тысячи раз ежедневно одним и тем же серверов, а если это популярный проект, то серверная машина работает в повышенном режиме, то есть испытывает нагрузку, но мы рассмотрим самый простой вариант, когда она должна выдать обычную HTML страничку. Вот, например, клиент обратился с помощью своего браузера к сайту http://www.bret-hitmanhart.narod.ru/index.html. Что делает сервер? Он находит в своем архиве, то есть в своей памяти данную страницу и отправляет ее браузеру, тот в свою очередь обрабатывает информацию и показывает клиенту дизайн этой странички. Но, если бы выводилась просто HTML страничка, то пользователь бы получал совершенно не тот продукт, на который он мог ожидать, без подгруженных таблиц стилей (CSS) и java скриптов ничего бы не получилось или получилось, но страница оказалась очень скудной и не интересной. Все это обрабатывается клиентским браузером с подгружаемых библиотек. Такие страницы носят статистический характер, так как не могут быть изменены под влиянием пользователя.
Стоит также рассмотреть вариант, когда вызывается страничка, написанная на языке PHP. Если браузер обращается по адресу http://www.php-s.ru/index.php, то в данном случае происходит совершенно другая последовательность операций. При обращении к серверу Web машина обрабатывает данные, которые она нашла в данном файле, в результате работает уже целый скрипт и код, написанный в файле на языке PHP, после этого сервер отправляет результат на экран пользователя.
В этом и есть различие между простой HTML страницей и страницей, написанной на языке PHP. На самом деле не обязательно сохранять файл в формате php, это может быть и phtml, php4 и так далее, все зависит от сервера, где обрабатываются эти данные и коды. Основное отличие заключается в генерации сайта, то есть PHP позволяет генерировать страницу, а не просто отправлять ее пользователю, ведь это существенно лучше, так как увеличивает способности сайта и позволяет повысить гибкость проекта. Язык PHP позволил Web серверам разгрузить свои проекты, так как раньше там хранились сотни статистических страниц, которые пересылались с друг друга, таким образом, шла, так называемая постоянная перелинковка, позволяющая пользователю переходить с одной страницы на другую и тем самым, полностью читать сайт и его данные. Чтобы отредактировать одну страницу, нужно было провести много времени над коррекцией всего кода и других страниц, которые были каким-то образом, связаны с корректируемой страничкой. Но на смену статистическим сайтам пришли динамические страницы. Они облегчили нагрузку на проект, сокращали количество страниц, а также повышали производительность сайта.
Сейчас без использования PHP явно не обойтись, поскольку данный язык стал настоящим детищем будущих технологий, где необходимы постоянные усложнения процессов, постоянное повышение безопасности сайта, а также расширение функциональности проектов. Сравнить процесс работы HTML страницы и работы PHP страницы можно на примере газонокосилки, когда вы косите вручную в то время, когда уже есть такой прибор, который существенно облегчает данный процесс.
От интерпретатора к компилятору
Уже не раз говорилось о том, что версия PHP 3.0 не могла конкурировать с другими языками пока на смену ей не пришла версия 4.0. Дело в том, что третья версия не могла справиться с большими циклами, которые повторялись вновь и вновь, но за счет того, что разработчики нашли решение этой проблемы, она стала наравне с языками от Microsoft, то есть ASP. Для того, чтобы понять в чем произошло изменение стоит посмотреть и детально проанализировать работу кода php. Поначалу данный язык выполнял все задачи в роли интерпретатора, что в итоге позволило выполнять несложны задания, то есть задачи с легкой нагрузкой. Сам по себе интерпретатор – это программа, работающая с кодом по порядку, то есть она обрабатывает написанные скрипт поэтапно. В некоторых случаях это не выгодно и неудобно, с этим стали сталкиваться разработчики языка позже, когда решили расширять его способности. Любая область постоянно развивается, в том числе и сеть интернет. Когда нужно было обрабатывать миллионы операций, разработчики столкнулись с проблемой, когда один запрос обрабатывался порядка двух-трех минут, естественно такая долгая загрузка не устраивала пользователя, ведь, чтобы пролистать страницу нужно было подождать столько, сколько сейчас необходимо, чтобы осмотреть весь сайт. Причиной тому было то, что язык долго думал над конструкцией всего написанного кода и процесс происходил слишком медленно.
Для облегчения этой задачи была придумана трансляция, позволяющая превращать код в более удобный и легко доступный для интерпретатора. В итоге, процессы начали происходить существенно быстрее. Грубо говоря, трансляция – это конвертация одного языка в другой. Это необходимо для того, чтобы облегчить дальнейшую работу с полученными данными. Код обрабатывался только в начале и передавался в полном своем значении дальше без задержек на обработку каждой ветки кода. Полет программного языка теперь происходил в несколько раз быстрее, разработчики естественно были рады такому нововведению, ведь это существенно облегчило работу с большим и объемным кодом. Компилятор и трансляция несколько похожи друг с другом, но компилятор работает с машинным кодом, поэтому разработчикам PHP нет необходимости работать в данном направлении дальше, ведь сеть интернета этого не требует.
Возможности PHP
Язык PHP применяется в настоящее время совместно с использованием баз данных. Разновидностей баз данных уйма, наиболее популярными, с которым можно совместить данный программный язык являются: MySQL, ODBC, Oracle и другие. Базы данных необходимы для того, чтобы хранить какую-то информацию, то есть это хранилище, способное накапливать все то, что необходимо пользователю. Гостевые книги, сайты, сложные и многофункциональные проекты все они имеют свои базы данных, без них невозможно существование проекта, по этой причине PHP также стал активно использоваться.
За счет этого также была создана электронная почта, которую сейчас довольно легко создать самому. Достаточно использовать один из популярных протоколов, к примеру, IMAP, РОРЗ, SMTP, а также правильно настроить их работу и можно сделать самостоятельно рассылку писем на праздничные дни.
Но на этом великолепные возможности PHP не заканчиваются, все начинается с того, что с этим языком можно создавать изображения, текстовые файлы PDF, а также Flash – анимацию, которая стала так сильно использоваться в сегодняшнее время.
Управлять размещенными на сервере файлами также можно с помощью данного языка. На самом деле нет ничего проще, чем удалять или создавать файлы, копировать или извлекать из них самое нужное и ценное.
Кроме всего перечисленного данному языку под силу работать с многими другими технологиями, чей список может быть написан на 10 листах. Особой ролью в развитии данного языка является объектно-ориентированный подход, который сыграл весомую роль в формировании будущего данной программной среды.
Говорить о возможностях этого языка можно бесконечно, рассказывать и посвящать новичков в азы этой среды, но самое лучшее изучать самостоятельно возможности языка, научиться программировать в данной сфере, выявлять самые сложные решения, помогать решать проблемы тогда, когда другие не смогут сделать того или иного задания. Безусловно, каждому желающему постичь данную нишу, будет полезным постепенно вникать в сущность программирования на PHP.