Год появления языка программирования php. Первый язык программирования

Язык PHP уверенно чувствует себя в топах самых популярных языков программирования, однако же у всего есть конец. Грозит ли PHP оказаться не у дел, что может его заменить и какой язык вы бы выбрали для создания сайта типа Facebook? На эти вопросы ответили пользователи сайта Quora .

Джордж Мауэр, преподает JS

PHP умирает, Java умирает, C# умирает, SQL умирает, JavaScript умирает, C умирает. И все равно проектов на этих языках значительно больше, чем проектов на всех неперечисленных языках программирования вместе взятых. Да, иногда новые тренды могут вытеснять что-то устоявшееся, но этот процесс происходит крайне медленно. Совсем не значит, что это самое старое - плохое.

Я не могу согласиться с тем, что PHP был лучшим вариантом для создания Facebook. Создатели этой социальной сети в действительности лишь частично используют PHP. В настоящее время можно сказать, что вместо этого языка у них есть собственный диалект под названием Hack. PHP был просто языком, на котором Цукерберг и другие разработчики начинали работать над этим проектом.

Нельзя сказать, что PHP был таким уж и плохим выбором. Все же это язык, который отвечает требованиям быстрой разработки приложений. А это в свою очередь является одним из ключевых факторов для стартапа - в случае с Facebook этот фактор сыграл решающую роль. Изначально PHP был этакой сборной коллекцией скриптов. И это позволяет легко перейти на более низкий уровень абстракции и создавать код на C тогда, когда действительно существует необходимость в оптимизации. Все это было тщательно изучено и успешно внедрено в большинство современных языков.

Пожалуйста, выкиньте из своей головы идею, что социальная сеть требует чего-то специфического от языка программирования. Создание большей части кода будет совершенно стандартным и привычным. Да, есть некоторые проблемные области наподобие сопоставления предположительных и потенциальных друзей, но похожие вопросы чаще всего решаются при помощи специализированного ПО. Например, графо-ориентированных баз данных. Вам нужно будет крайне тщательно и аккуратно строить свою систему, а также отлично разбираться в области DevOps, но то же самое придется проделывать и с другими языками. Вместо идеального языка разработки для вас скорее важны опытные и знающие разработчики.

И это, собственно, подводит меня к сути вопроса. PHP крайне привлекателен хотя бы потому, что огромное количество специалистов на данный момент хорошо его знают. Но вы вряд ли захотите, чтобы кто-либо из подобных специалистов работал над вашим стартапом. Вы захотите нанять людей, которые знают сразу несколько языков, людей, обладающих сформированным и обоснованным мировоззрением. А такие люди в своем большинстве не особо жалуют PHP.

Представьте: сижу я в новеньком офисе, снятом для разработки моего только что зарегистрированного стартапа, пялюсь на свой стол с кучей денег, полученных на развитие проекта, и ломаю голову над тем, какой же язык программирования выбрать. Я понимаю, что это проблема где-то 250-ая в списке вещей, определяющих успех или поражение моего будущего предприятия. И я начинаю осознавать, что данное решение необходимо принимать вместе с командой разработчиков, которой у меня пока нет. Поэтому сам начинаю искать варианты языка, который был бы относительно широко распространен, легко бы позволял разработчикам переходить на более низкий уровень абстракции и, что самое важное, на котором бы у меня были знакомые разработчики - лучшие в своем деле.

На данный момент таким языком является Elixir. Он базируется на виртуальной машине Beam и является достаточно близким родственником языка Erlang, который на протяжении нескольких десятилетий отлично демонстрировал себя в ряде проектов. Кроме того, данный язык показывает просто невообразимые результаты в отношении производительности.

Другим отличным выбором может стать язык Go. Главным образом это язык низкого уровня, но на нем можно делать все то же, что и на языках высокого уровня. Пусть мне и не нравятся некоторые решения касательно его структуры, но он, так или иначе, заслуживает внимания.

Еще одним вариантом может стать Clojure. Существует вероятность, что найти разработчиков на данном языке будет не так просто, но с учетом того, что этот язык - прямой потомок LISP, я могу искренне назвать его невероятно мощным и дающим множество вариантов развития.

Несколько важных замечаний:

  • присмотритесь к F# на фреймворке.Net или даже к вездесущему C#. Если вы все же выберете последний вариант, то будьте готовы к тому, что для создания отличной команды вам придется просмотреть и просеять намного большее количество резюме;
  • при помощи Scala можно творить впечатляющие вещи;
  • Node.js. Я просто обязан упомянуть Node.js. Лично я считаю, что на данный момент на вершине цепочки стоит Javascript, но Node уже долгое время также входит в список достаточно широко используемых языков. Кроме того, есть большое количество высококвалифицированных специалистов.

PHP - это HTML встроенный скриптовый язык программирования общего назначения, часто используется в разработке веб-приложений. Является одним из лидеров среди языков программирования, применяющихся для создания динамических вебсайтов. Изначально название языка расшифровывалось как «Personal Home Page» (личная web-страница), однако потом оно стало рекурсивным акронимом (сокращение, в котором используется само сокращённое название), означающим «PHP: Hupertext Preprocessor» (PHP, препроцессор гипертекста).

История появления и развития языка

Давным-давно сайты были статичны, состояли из готовых страничек , объединенных гиперссылками. Но для внесения правок в материалы или их добавления нужно было дописывать и переписывать эти страницы, что часто вело к тому, что приходилось вручную переделывать весь сайт. Затем ситуацию поправил CSS и клиентские скриптовые языки, которые позволили внести в браузер немного динамики. Появились активное меню, более сложные структуры, «всплывающие» окна и т.д. А автоматическим созданием страниц со стороны сервера занимались CGI-программы (скрипты).

  • В 1994 году датский программист Расмус Лердорф написал набор этих самых скриптов на Perl/CGI, которые могли обрабатывать шаблоны на основе HTML-документов. В дальнейшем именно эти скрипты воплотились в интерпретатор языка программирования PHP, который позволял решать разнообразные задачи веб-приложений, а главное на нём можно было написать полноценный динамический сайт, но это было позже. А в начале Лердорф сделал несколько простых сценариев для своих нужд, которые позволяли определять, кто посещает веб-страницу. Но время шло и росла численность веб-разработчиков, которые интересовались использованием серверных сценариев для создания динамического контента. И весной 1995 года Расмус обнародовал первую версию PHP, которая по своей сути была набором серверных утилит и макросов. Далее летом этого же года появилась вторая версия PHP/FI 2.0 и набор утилит превратился в язык программирования PHP, который получил широкое распространение. Основным заданием этого языка была минимизация объёма создаваемого кода, необходимого для получения результата, в результате это привело к тому, что PHP стал HTML-ориентированным языком, код PHP стал встраиваться в разметку HTML.
  • Версия PHP 3 появилась в 1997 году, благодаря израильским программистам Зеву Сураски и Энди Гатмансу, которые полностью переписали PHP и разрешили многие его проблемы, определили современный облик и стиль языка. Эту версию могли легко дописывать другие разработчики, у программистов появилась возможность писать свои собственные модули, расширяя функциональность PHP. Что позволило работать с набором баз данных и поддерживать большое количество различных API. Эта версия имела некоторые задатки объектно-ориентированного подхода, что вызвало интерес и привлекло новых пользователей языка.
  • В 2000 году появился PHP 4, к этому моменту, он был установлен задействован в 2,5 миллионах вебсайтов, сравните с 250 тыс. всего 18 месяцами ранее. Целью создания новой версии было улучшение модульности кода и увеличение производительности сложных приложений. Как результат новая версия содержала много крупных изменений, включая новый движок Zend Engine (от имён создателей, Зив и Энд) и это было наиболее революционное обновление во всей истории языка. Была введена абстракция для веб-сервера, что позволило PHP работать на серверах Apache, Microsoft IIS, Zeus, AOLServer и других. Изменился способ выполнения кода: код стал читается один раз и потом преобразовывается во внутренний формат, а далее уже выполняется. Это позволило использовать технологии кэширования (PHP-акселераторы), которые существенно увеличивали производительность.

В настоящее время актуальной является версия PHP 5 выпущенная 13 июля 2004 года . В ней было переработано ядро языки, полностью изменены принципы ООП, которые стали во многом схожи с моделью, используемой в Java. На данный момент последней стабильной версией является PHP 5.4 .

РНР обладает открытым исходным кодом и распространяется бесплатно, если у вас есть желание взглянуть на исходники языка – они публично доступен на GitHub .

Особенности PHP
  • Динамичность веб-проектов. Одна из базовых возможностей РНР это встраиваемость в HTML разметку страницы и ее модификация, что позволяет «собирать» на базе одной страницы полновесные вебсайты.
  • Открытость. РНР это доказательством существования бесплатного сыра. Версия интерпретатора всегда доступна на GitHub .
  • Универсальность. PHP кроссплатформенный язык программирования, его можно использовать на разных операционных систем.
  • Простота использования. Синтаксис РНР очень прост для понимания и использования даже для непрограммистов. При этом язык обладает большим количеством возможностей, и может быть использован как шаблонизатор.
  • Техническая поддержка. Вы можете посетить официальную веб-страницу РНР (http://php.net/), где предлагается обширный список тем для обсуждения и содержится полная документация по языку с примерами.
  • Персонализация. Открытость РНР позволяет программистам модифицировать программное окружение на уровне ядра интерпретатора, добавлять или изменять его функциональность, необходимую для решения нетривиальных задач. Кроме того РНР обеспечивает достаточный контроль над окружением, позволяя уменьшить вероятность ошибок.
  • Безопасность. Если ваш РНР скрипт разработан правильно, то его программный код будет известен только вам и не будет возможностей его модифицировать извне.
  • Нестрогая типизация. Техническая особенность языка, в PHP не требует обязательного объявления типов данных в начале программы, как другие языки программирования.
  • Множество текстовых операторов. В PHP на ряду с возможностью использования регулярные выражения для работы со строками существует великое количество различных текстовых позволяющих искать вхождения в тексте, вырезать фрагмент из текста и делать много других операций с текстовыми значениями.

На текущий момент больше 60% веб-проектов во всем мире работают на PHP. Многие программисты, которые так и не научились правильно писать на этом языке, который предоставляет слишком много свободы, жалуются на его производительность. Но крупные высоконагруженные проекты с продуманной архитектурой при этом спокойно его используют. И популярность PHP остаётся неизменной, что говорит само за себя на зло всем недоброжелателям.

В то время, как мы учимся созданию сайтов, нам часто попадается термин PHP , но не все точно знают, что это такое и совсем немногие люди утруждают себя тем, чтобы подробно разобраться и изучить эту тему. Что такое php программирование? И для чего оно нужно? Частый вопрос новичков, сейчас я все расскажу!

И в самом деле, иногда просто не возникает в этом необходимости. Например, чтобы создать , вовсе не обязательно глубоко знать PHP, обычно знаний HTML и CSS вполне достаточно, иногда требуется что-то изменить и в PHP коде, но обычно метода «скопировал - вставил» бывает достаточно.

Тем не менее, знание PHP никогда не бывает лишним для верстальщика, чтобы понимать код других, а для вебмастера оно просто необходимо, ведь с помощью него мы можем оживить свой сайт, добавив ему динамики и больше свободы. А тот, кто хорошо изучит этот язык, даже может в случае необходимости разработать и свою CMS.

Цель данной статьи - дать общий обзор новичкам, чтобы у них было представление о том, что может сделать PHP, если они начнут его изучать и применять на своих сайтах.

Так что же такое PHP программирование?

PHP – это язык программирования, также как и HTML и CSS.

Он не так уж сложен для изучения, как это может показаться вначале тем, кто решил взяться за него всерьез. Изучив всего несколько простых функций, вы уже сможете применять их на своем сайте, тем самым значительно повысив функциональность своего проекта.

Язык PHP может соседствовать в одном документе с языком HTML, так что вы можете вставлять код PHP в уже написанный HTML код. Эта особенность языка PHP позволяет вебмастеру добиться наибольшей свободы в своей работе.

Что имеется ввиду под выражением «добавить динамики»? То, что я имею ввиду - это возможность вариантности на сайте, в зависимости от того, какой запрос задает пользователь. Запрашивает ли он какую-то информацию , или, например, хочет выполнить какие-то вычисления – эти действия становятся возможными именно благодаря языку PHP.

Короче говоря, PHP используется для того, чтобы добавить функциональности сайту. С помощью применения одного html вы никогда бы не добились такого эффекта!


Вот несколько примеров того, что можно делать с помощью языка программирования PHP:

Математические вычисления.

PHP может выполнять все виды математических вычислений - от сложения, вычитания, умножения, деления до определения сегодняшней даты, дня недели и года.

PHP может хранить информацию пользователя.

То есть, пользователь может напрямую взаимодействовать со сценарием, например, вводить свои данные в форму контактов или в адресную книгу, задавать запрос через форму поиска, добавлять комментарии к статьям, заводить новые посты на форуме и т.д.

PHP может взаимодействовать с базами данных MySQL.

И, когда задействован этот пункт, то возможности практически безграничны.

Вы можете помещать информацию в базу данных, вы можете ее оттуда извлекать. Это позволит вам создавать новые страницы очень быстро, вы сможете разработать админ панель сайта, вы сможете разработать систему логинов и паролей, в конце концов, вы сможете создавать сложные динамические сайты.

С помощью PHP и различных библиотек вы сможете также управлять графикой сайта.

Например, вы сможете менять размер картинок, поворачивать их, менять их оттенок.

Ваши посетители смогут редактировать свои аватарки, а также благодаря этому возможно использование капчи на сайте. Также вы сможете, например, настроить различные соответственно времени суток и временам года.

Список того, что можно сделать, применяя язык программирования PHP, огромен настолько, что можно очень долго перечислять все его возможности.

И это лишний раз доказывает, что знание PHP может принести большую пользу и множество перспектив человеку, изучающему сайтостроение, особенно тем, кто хочет сделать создание сайтов своим основным видом деятельности и зарабатывать на этом.

От автора: необходимо ли знать язык программирования PHP? Если собираетесь связать свою судьбу с сайтостроением, то придется. Даже если очень не хочется! Почему так? На все распространенные «почему», связанные с этим языком, мы попытаемся ответить в нашем материале.

Раствор, который «скрепляет» интернет

Именно так охарактеризовал PHP один мой знакомый, занимающийся созданием интернет-ресурсов уже более десятка лет. И он прав, наверное, процентов на 200% (а может и больше).

Сама история возникновения данного языка говорит о том, что он был рожден, чтобы «слепить» нынешнюю версию Сети, к которой мы так привыкли. Наверное, поэтому некоторые так и не могут осознать его мощь, даже после изучения основ программирования PHP.

Доказывать роль PHP в создании интернет – вещь неблагодарная. Тут, как говорится, могут начать выступать сторонники других серверных языков. Мол, «препроцессор гипертекста» (так расшифровывается аббревиатура PHP) уже отжил свое. Многие из его функций реализованы даже в …

Ну, кричать и размахивать руками, превознося свой язык программирования, на котором специализируешься, дело нехитрое. Но лучшей «уликой», указывающей на востребованность PHP, является его распространенность.

Следующий рейтинг программных языков, составленный специалистами TIOBE летом прошлого года, говорит нам о том, что PHP уже в течение нескольких лет постоянно входит в топ. Вы еще не побежали искать по языку программирования PHP самоучитель? Скоро побежите .

Если вас интересует, почему так скаканул Java, то отвечу: благодаря мобильной операционке Android, приложения под которую разрабатываются на этом языке.

Собственные грабли

Еще в начале двухтысячных я занимался «изысканиями» в сфере программирования. Все пытался выяснить, к какой «партии» разработчиков стоит примкнуть, изучению какой дисциплины посвятить свою жизнь.

Как язык программирования PHP для начинающих я не рассматривал в принципе. Он казался чересчур запутанным. Вот другое дело ASP.NET: коммерческий язык, основанный на C#. Ох, какие воздушные замки я тогда строил! И для этого были все предпосылки:

Технология разработана таким «гигантом мысли», как Microsoft.

Наличие специализированного ПО – мощного редактора Visual Studio.

Обширная и хорошо описанная документация.

Надежда на «здоровое» будущее.

ASP.NET в отличие от PHP давался мне намного легче. Visual Studio автоматизировала большое количество операций по написанию серверных скриптов. Например, благодаря отличному визуальному редактору на создание веб-страницы уходило всего несколько минут. Путем перетаскивания элементов управления и прописыванием в редакторе их стилей можно было сделать сайт меньше чем за час!

А вот язык программирования PHP с нуля мне сразу не дался. Честно, я пытался с ним подружиться (надо же было, как-то сдавать экзамен). Но при изучении его основ он показался мне черствым и даже холодным.

В общем, занялся я ASP.NET. Состряпал первый свой сайтик. Ну, в среде разработки вроде все функционирует. Кроссбраузерность проверил в нескольких популярных браузерах. Думаю, пришло время и «повоевать». Так сказать, показать свое «детище» всей стране (как минимум). Вот тут и оказались» грабли».

Мои попытки найти в Рунете хостинг с поддержкой ASP.NET так и не увенчались успехом. Было, конечно, несколько платных площадок, но цены за размещение на них сайта были явно не «студенческие».

Кое-как нарыл я в «Буржунете» бесплатный вариант хостинга (кстати, спонсируемого Microsoft). Ну «поклацал», насладился широтой своей мысли, а дальше дело не пошло. И все из-за того, что большая часть сайтов уже тогда делалась на PHP.

После того, как определитесь и точно поймете, что готовы изучать PHP язык программирования, поищите самоучитель для новичков «под себя». Главное, чтобы вы понимали, что автор издания хочет донести своим читателям. Сразу приготовьтесь «отвалить» хорошую сумму за качественную литературу.

Но лучше применять комплексный подход – добавить еще и толковый . Это позволит оттачивать свое умение сразу на практических примерах. И мой вам совет – поменьше занимайтесь копипастом кода! Почему, сейчас поясню.

Когда вы будете набирать примеры скриптов самостоятельно, то быстрее привыкните и запомните особенности синтаксиса PHP. Что касается литературы, то выбирайте самоучитель с основами программирования на PHP. И желательно, чтобы автор выкладывал код всех приводимых примеров на своем ресурсе в Сети.

Также сразу перед началом обучения скачайте и установите Open Server. Этот программный пакет включает в себя все среды, которые потребуются вам для написания и тестирования кода.

Ну, на сегодня разрешите откланяться. Простите (если что) за излишнюю обзорность содержания статьи, но это нужно для понимания особенностей данного языка (все-таки серверный). Желаю вам быстрее постичь основы языка программирования PHP и приступить к настоящему кодированию!

PHP – это широко используемый язык сценариев общего назначения с открытым исходным кодом.

Говоря проще, PHP это язык программирования, специально разработанный для написания web-приложений (сценариев), исполняющихся на веб-сервере.

Аббревиатура PHP означает “Hypertext Preprocessor (Препроцессор Гипертекста)". Синтаксис языка берет начало от C, Java и Perl. PHP достаточно прост для изучения. Преимуществом PHP является предоставление веб-разработчикам возможности быстрого создания динамически генерируемых web-страниц.

Возможности PHP

Существуют три основных области, где используется PHP.

Создание скриптов для выполнения на стороне сервера. PHP наиболее широко используется именно таким образом. Все, что для этого понадобится, это парсер PHP (в виде программы CGI или серверного модуля), веб-сервер и браузер. Чтобы просматривать результаты выполнения PHP-скриптов в браузере, необходим работающий веб-сервер и установленный PHP.

Создание скриптов для выполнения в командной строке. Вы можете создать PHP-скрипт, способный запускаться вне зависимости от веб-сервера и браузера. Все, что потребуется - парсер PHP. Такой способ использования PHP идеально подходит для скриптов, которые должны выполняться регулярно, например, с помощью cron (на платформах *nix или Linux) или с помощью планировщика задач (Task Scheduler) на платформах Windows. Эти скрипты также могут быть использованы в задачах простой обработки текстов. Дополнительная информация находится здесь.

Создание приложений GUI, выполняющихся на стороне клиента. Возможно, PHP является не самым лучшим языком для создания подобных приложений, но, если PHP хорошо известен и есть желание использовать некоторые его возможности в своих клиент-приложениях, то можно использовать PHP-GTK для создания таких приложений. Подобным образом можно создавать и кросс-платформенные приложения. PHP-GTK является расширением PHP и не поставляется вместе с дистрибутивом PHP.

История PHP

Истоки PHP лежат в старом продукте, имевшем название PHP/FI . PHP/FI был создан Расмусом Лердорфом в 1995 году и представлял собой набор Perl-скриптов для ведения статистики посещений его резюме.

Расмус Лердорф (англ. Rasmus Lerdorf; р. 22 ноября 1968) - датский программист (ныне живущий в Канаде), написавший в 1994 году набор скриптов на Perl/CGI.

Развитие web еще только начиналось, никаких специальных средств для решения таких задач не было, и к автору хлынул поток сообщений с вопросами. Лердорф начал бесплатно раздавать свой инструментарий, названный «Personal Homepages Tools» - («Инструменты для персональных домашних страниц»). Очень скоро потребовалась большая функциональность и Расмус пишет новую, намного более обширную версию на C, работающую с базами данных и позволяющую пользователям разрабатывать простейшие web-приложения. Расмус Лердорф решил выложить исходный код PHP/FI на всеобщее обозрение, исправление ошибок и дополнение.

PHP/FI (Personal Home Page / Forms Interpreter - Персональная Домашняя страница / Интерпретатор Форм) включал в себя базовую функциональность сегодняшнего PHP. Он имел переменные в стиле Perl, автоматическую интерпретацию форм и возможность встраиваться в html-код. Собственно синтаксис языка имел много общего с Perl, хотя и был намного проще и ограниченнее.

В 1997 выходит PHP/FI 2.0 . Вторая версия C-имплементации обозначила группу пользователей: несколько тысяч людей по всему миру, с примерно 50 000 доменами, что составляло около 1% всего числа доменов Интернета. Несмотря на то, что разработкой занималось уже несколько людей, PHP/FI 2.0 все еще оставался крупным проектом одного человека.

Официально PHP/FI 2.0 вышел только в ноябре 1997 года, после проведения большей части своей жизни в бета-версиях. Вскоре после выхода его заменили альфа-версии PHP 3.0.

PHP 3.0 была первой версией, напоминающей PHP, каким мы знаем его сегодня. В 1997 году Энди Гутманс (Andi Gutmans) и Зив Сураски (Zeev Suraski) переписали код с начала: разработчики сочли PHP/FI 2.0 не пригодным для разработки приложения электронной коммерции, над которым они работали для проекта Университета. Для совместной работы над PHP 3.0 с помощью базы разработчиков PHP/FI 2.0 Энди, Расмус и Зив решили объединиться и объявить PHP 3.0 официальным преемником PHP/FI, разработка же PHP/FI была практически полностью прекращена.

К концу 1998, PHP использовался десятками тысяч пользователей. Сотни тысяч web-сайтов сообщали о том, что они работают с использованием языка. В то время PHP 3.0 был установлен приблизительно на 10% серверах Интернета!

PHP 3.0 был официально выпущен в июне 1998 года после 9 месяцев публичного тестирования.

К зиме 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 имел еще несколько ключевых нововведений, таких как поддержка сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.

Пятая версия PHP была выпущена разработчиками 13 июля 2004 года. Изменения включают обновление ядра Zend (Zend Engine 2), что существенно увеличило эффективность интерпретатора. Введена поддержка языка разметки XML. Полностью переработаны функции ООП, которые стали во многом схожи с моделью, используемой в Java. В частности, введён деструктор, открытые, закрытые и защищённые члены и методы, окончательные члены и методы, интерфейсы и клонирование объектов. В последующих версиях также были введены пространства имён, замыкания и целый ряд достаточно серьёзных изменений, количественно и качественно сравнимых с теми, которые появились при переходе на PHP 5.0 .

Шестая версия PHP 6.0 разрабатывалась с октября 2006 года. Было сделано множество нововведений, как, например, исключение из ядра регулярных выражений POSIX и «длинных» суперглобальных массивов, удаление директив safe_mode, magic_quotes_gpc и register_globals из конфигурационного файла php.ini. Одним из основных новшеств должна была стать поддержка Юникода. Однако в марте 2010 года разработка PHP6 была признана бесперспективной из-за сложностей с поддержкой Юникода. Исходный код PHP6 перемещён на ветвь, а основной линией разработки стала версия 5.4.

В 2014 году было проведено голосование, по результатам которого следующая версия получила название PHP 7 . Выход новой версии планировался в середине октября 2015 года. В марте 2015 года Zend представили инфографику в которой описаны основные нововведения PHP 7.

Архитектура PHP

PHP является интерпретатором с встроенным блоком трансляции, оптимизирующим ход интерпретации.

Использование интерпретатора (а значит и PHP) имеет свои неоспоримые преимущества:

1. Нет необходимости заботится об освобождении выделенной памяти, не нужно закрывать файлы по окончании работы с ними – всю рутинную работу сделает интерпретатор, поскольку программа выполняется под его бдительным контролем;

2. Не нужно думать о типах переменных, а также не нужно объявлять переменную до его первого использования;

3. Отладка программ и обнаружение ошибок существенно упрощаются – интерпретатор полностью контролирует этот процесс;

4. В контексте веб-приложений, интерпретатор также имеет еще очень важное преимущество – нет опасности «зависания» сервера при неправильной работе программы.

Синтаксис PHP

Синтаксис PHP подобен синтаксису языка Си. Некоторые элементы, такие как ассоциативные массивы и цикл foreach , заимствованы из Perl.

Для работы программы не требуется описывать какие-либо переменные, используемые модули и т. п. Любая программа может начинаться непосредственно с оператора PHP.

Простейшая программа на PHP выглядит следующим образом:

Помимо ограничителей , допускается использование дополнительных вариантов, таких как и .

Переменные и типы данных

PHP является языком программирования с динамической типизацией, не требующим указания типа при объявлении переменных, равно как и самого объявления переменных. Преобразования между скалярными типами зачастую осуществляются неявно без дополнительных усилий (впрочем, PHP предоставляет широкие возможности и для явного преобразования типов).

К скалярным типам данных относятся:

целый тип (integer),
вещественный тип данных (float, double),
логический тип (boolean),
строковый тип (string),
и специальный тип NULL.

К нескалярным типам относятся:

«ресурс» (resource),
массив (array),
объект (object),

К псевдотипам относятся:

mixed любой тип
number число (integer либо float)
callback (string или анонимная функция)
void отсутствие параметров

Диапазон целых чисел (integer) в PHP зависит от платформы (обычно, это диапазон 32-битных знаковых целых чисел, то есть, от −2 147 483 648 до 2 147 483 647). Числа можно задавать в десятичной, восьмеричной и шестнадцатеричной системах счисления.

Диапазон вещественных чисел (double) также зависит от платформы (для 32-битной архитектуры диапазон позволяет оперировать числами от ±1.7×10−308 до ±1.7×10+308).

PHP предоставляет разработчикам логический тип (boolean), способный принимать только два значения TRUE («истина») и FALSE («ложь»). При преобразовании в логический тип число 0, пустая строка, ноль в строке «0», NULL и пустой массив считаются равными FALSE. Все остальные значения автоматически преобразуются в TRUE.

Строка может быть определена тремя различными способами.

  • одинарными кавычками
  • двойными кавычками
  • heredoc-синтаксисом

Простейший способ определить строку - это заключить ее в одинарные кавычки (символ "). Чтобы использовать одинарную кавычку внутри строки ее необходимо предварить символом обратной косой черты (\), т. е. экранировать. Если обратная косая черта должна идти перед одинарной кавычкой либо быть в конце строки, необходимо продублировать ее. Нет необходимости экранировать саму обратную косую черту.

Если строка заключена в двойные кавычки ("), PHP распознает большее количество управляющих последовательностей для специальных символов:

heredoc-определение (PHP):

Переменные внутри heredoc интерпретируются. Если вы хотите точно определить конец имени, заключайте имя переменной в фигурные скобки.

$s =