Что написано на php

Содержание
  1. Что написано на php
  2. PHP 3
  3. PHP 4
  4. PHP 5
  5. 7 июля 2018 г. PHP: 5 сфер применения
  6. 1. Вебсайты на PHP
  7. Шаблоны динамических сайтов
  8. Онлайн-сообщества
  9. Работа с изображениями
  10. 2. Приложения для электронной коммерции
  11. 3. Общеорганизационное программное обеспечение
  12. Системы управления контентом
  13. Системы управления информацией о клиентах
  14. Системы управления ресурсами
  15. 4. Использование PHP для создания баз данных
  16. 5. PHP для мобильных приложений
  17. Итак, что же может PHP?
  18. Что такое PHP и почему его все ненавидят
  19. История языка
  20. PHP — это просто
  21. Для чего нужен PHP
  22. Почему все ненавидят PHP
  23. Стоит ли учить PHP?
  24. Что дальше
  25. Язык программирования PHP: от истоков до современности
  26. Что за язык PHP и почему он так популярен
  27. Первое свойство: интерпретируемость
  28. Второе свойство: динамическая типизация
  29. Но есть проблема
  30. Обзор версий: между первой и седьмой
  31. HipHop и прорыв в скорости
  32. Будущее PHP: восьмая версия
  33. Для чего используют PHP
  34. С чего начать изучение

Что написано на php

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

В сентябре того же года, Расмус расширил PHP и на короткое время убрал из названия PHP. Теперь в виде инструмента FI (сокращение от «Интерпретатор Форм»), новая реализация включала в себя некоторые основные функциональные возможности того PHP, который мы знаем сегодня. Она имела Perl-подобные переменные, автоматическую интерпретацию форм и встраиваемый в HTML синтаксис. Синтаксис языка был похож на Perl, хотя и был гораздо более ограниченным, простым, и в некоторой степени противоречивым. Для того, чтобы вставлять код в HTML-файл, разработчикам пришлось использовать HTML комментарии. Хотя этот метод был не совсем хорошо принят, FI по-прежнему набирал популярность в качестве CGI-инструмента, но всё-таки не в качестве языка. Однако, перемены начались в следующем месяце, когда в октябре 1995 года Расмус выпустил полностью переписанный код. С вернувшимся именем PHP, но уже сокращённым от «Personal Home Page Construction Kit», это был первый релиз, который мог похвастаться расширенным интерфейсом сценариев. Язык намеренно напоминал Си по структуре, что делал его лёгким для восприятия разработчиками, знакомыми с Си, Perl и подобными языками. Будучи всё ещё ограниченными UNIX и POSIX-совместимыми системами, был изучен вопрос для реализации языка в Windows NT.

Код получил ещё одно существенное преобразование в апреле 1996 года. Объединив названия предыдущих версий, Расмус представил PHP/FI. Реализации второго поколения начали по-настоящему развивать PHP из набора инструментов в самостоятельный язык программирования. PHP включал в себя встроенную поддержку для DBM, mSQL и Postgres95 баз данных, cookies, поддержку определяемых пользователем функций и многое другое. В июне PHP/FI была присвоена версия 2.0. Интересно, однако, что существовала только одна версия PHP 2.0. Когда она, наконец, в ноябре 1997 года преодолела статус бета-версии, парсер языка был уже полностью переписан.

Несмотря на короткую историю разработки, PHP/FI продолжал набирать популярность в молодом мире веб-разработки. В 1997 и 1998, PHP/FI стал культом для нескольких тысяч пользователей по всему миру. Исследования Netcraft в мае 1998 года показали, что почти 60 тысяч доменов передавали заголовки, содержащие «PHP». Это число равнялось примерно 1% от всех доменов в Интернете в то время. Несмотря на эти впечатляющие цифры, развитие PHP/FI было ограничено: несмотря на нескольких второстепенных участников, в целом он по-прежнему разрабатывался одним человеком.

Пример #1 Пример кода на PHP/FI

PHP 3

Одной из сильнейших сторон PHP 3.0 была возможность расширения ядра. Кроме обеспечения пользователей надёжной инфраструктурой из множества различных баз данных, протоколов и API, расширяемость PHP 3.0 привлекла к нему множество сторонних разработчиков, желающих добавить к языку свои модули. Возможно, это и был главный ключ к успеху, но стоит добавить, что немаловажным шагом оказалась поддержка ООП синтаксиса и намного более мощного и последовательного синтаксиса самого языка.

В июне 1998 года, со множеством новых разработчиков со всего мира присоединившихся к проекту, PHP 3.0 был представлен новой командой разработчиков, как официальный преемник PHP/FI. Активное развитие PHP/FI 2.0, фактически прекратившееся в ноябре прошлого года, теперь официально закончилось. Примерно через девять месяцев открытого публичного тестирования, при объявлении официального выпуска PHP 3.0, он уже был установлен на более чем 70000 доменах по всему миру, и уже не ограничивается POSIX-совместимыми операционными системами. Относительно небольшая доля доменов с установленным PHP была размещена на серверах под управлением Windows 95, 98 и NT, а также Macintosh. На пике своего развития, PHP 3.0 был установлен приблизительно на 10% веб-серверов в Интернете.

PHP 4

К зиме 1998 года, практически сразу после официального выхода PHP 3.0, Энди Гутманс и Зив Сураски начали переработку ядра PHP. В задачи входило увеличение производительности сложных приложений и улучшение модульности кодовой базы PHP. PHP 3.0 дал возможность подобным приложениям успешно работать с набором баз данных и поддерживать большое количество различных API и протоколов, но PHP 3.0 не имел качественной поддержки модулей и приложения работали неэффективно.

Новый движок, названный ‘Zend Engine’ (от имён создателей: Zeev и Andi), успешно справлялся с поставленными задачами и впервые был представлен в середине 1999 года. PHP 4.0, основанный на этом движке и принёсший с собой набор дополнительных функций, официально вышел в мае 2000 года, почти через два года после выхода своего предшественника. Кроме значительного улучшения производительности, PHP 4.0 имел ещё несколько ключевых нововведений, таких как поддержка намного большего числа веб-серверов, поддержка HTTP сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.

PHP 5

После долгой разработки и нескольких пре-релизов в июле 2004 был выпущен PHP 5. В основном он управляется ядром Zend Engine 2.0 с новой объектной моделью и множеством различных других нововведений.

Команда разработчиков PHP включает в себя десятки разработчиков, а также десятки других организаций, работающих над связанными с PHP и его поддержкой проектами, такими как PEAR, PECL и документацией, а также базовую инфраструктуру сети более чем из ста серверов на шести из семи континентах мира. Основываясь на статистике прошлых лет, можно с уверенностью предположить, что PHP теперь установлен на десятки или даже, возможно, сотни миллионов доменов по всему миру.

Источник

7 июля 2018 г. PHP: 5 сфер применения

5b410f193a6a1

Созданный изначально для серверного скриптинга, PHP стал одним из наиболее широко применяемых языков программирования. Согласно WWW Technology Surveys, доля его использования превышает 80 %. Среди сторонников PHP — такие гиганты, как Slack, Wikipedia, WordPress, Pinterest, Nvidia, Tumblr и, в определенном роде, Facebook. Широкий спектр функций, которыми он обладает, позволяет применять этот язык практически во всех сферах ИТ-разработки. Поэтому к нему так часто отдают предпочтение при разработке самые различные компании, от стартапов до крупных предприятий. Предлагаем познакомиться с несколькими вдохновляющими примерами того, что можно создавать при помощи PHP.

5b4110ff93af6

1. Вебсайты на PHP

Будучи изначально разработанным для создания веб-страниц, PHP позволяет создавать веб-сайты с интуитивным и адаптивным дизайном быстро и легко. Поэтому неудивительно, что многие сайты созданы именно при помощи PHP. Среди них — Yahoo, Flickr, Digg и другие.

Мы рады, что можем добавить к этому обширному списку несколько сайтов, разработанных нашей компанией. Это сайты для профессионального сервиса фотографов KeepSnap, для немецкого пассажироперевозчика MeinFernbus, а также для большого украинского хостинг-провайдера Nic.Ua. Нам очень приятно, что в мае 2018 года Nic.Ua занял первое место во всеукраинском конкурсе веб-сайтов Web Awards UA.

5b41132cea1c4

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

Шаблоны динамических сайтов

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

Онлайн-сообщества

PHP позволяет легко создавать онлайн-сообщества при помощи таких инструментов, как PHP BB, vBulletin, Pun BB и др. Это позволяет сделать ваш сайт более интерактивным и привлекательным для пользователей.

Работа с изображениями

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

5b411455b5886

2. Приложения для электронной коммерции

Электронная коммерция — это еще одна обширная сфера, в которой PHP предлагает множество простых путей для создания интересных продуктов. Многие популярные онлайн-платформы, такие, например, как OpenCart, Zen Cart, Magento, PrestaShop и Ubercart, созданы с помощью PHP.

Для организации электронной коммерции с помощью PHP можно использовать функции PHP CCVS, CyberMUT, Cybercash, Payflow Pro, VeriSign.

Благодаря использованию таких фреймворков, как Symfony, CodeIgniter, CakePHP или Zend, PHP предоставляет широкие возможности для создания приложений для электронной коммерции. Поскольку эти фреймворки являются опенсорсными, это позволяет сэкономить средства на разработке и поддержке, а также обеспечивает повышенную функциональность, хорошую масштабируемость и адаптивность, а также бесперебойную работу, что однозначно положительно оценят ваши клиенты.

Хорошим доказательством тому является еще одно наше решение — обновленный сервис форвардинга для Новой Почты. Новая Почта — это крупнейшая украинская компания экспресс-доставки. В 2016 году она запустила сервис форвардинга, но по определенным причинам первая версия оказалась не очень успешной, и компания решила полностью обновить данный сервис.

Выполнение задачи было доверено Stfalcon.com.Помимо нового дизайна, мы также переписали с нуля движок сайта, используя при этом фреймворк Symfony2. Это позволило улучшить функционирование сайта и сделать его гораздо более удобным для пользователей. В результате довольно непопулярный поначалу среди пользователей сервис, в 2018 году занял первое место в номинации «Выбор потребителя» на всеукраинском конкурсе Ukrainian E-commerce Awards.

5b4115b0ad3a9

3. Общеорганизационное программное обеспечение

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

Системы управления контентом

Создание CMS — одно из наиболее популярных использований PHP. На нем работают три ведущих движка для CMS: WordPress, Joomla и Drupal. При помощи PHP вы можете либо кастомизировать эти CMS для своего бизнеса, либо создать собственную систему управления контентом с нуля. Одна из основных черт, которая отличает хорошую CMS — это то, что пользователи могут работать с контентом, не имея при этом дело с операционной частью и HTML. CMS разработка на PHP снижает взаимозависимость между разметкой и контентом.

Системы управления информацией о клиентах

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

5b4116a8a8cd9

Системы управления ресурсами

Современные системы управления ресурсами (ERP) достаточно сложны и должны соответствовать высоким стандартам в плане интеграции. Когда речь идет о разработке жизнеспособной ERP системы, выбор наиболее подходящего фреймворка очень важен. PHP предоставляет большой выбор фреймворков, среди которых можно подобрать оптимально подходящий для решения ваших задач. Он также позволяет ускорить разработку, которая, в случае ERP, может занять годы. Большинство PHP фреймворков поддерживают подход «модель-представление-контролллер», которая позволяет разработчикам оптимизировать работу приложения, структурируя код. Это дает возможность лучше организовать сотрудничество между несколькими командами, работающими над разными модулями одной системы.

4. Использование PHP для создания баз данных

База данных — сердце веб-экосистемы. Она обеспечивает средства для создания динамического контента и для всех видов пользовательского интерактива. Ее написание существенно упрощается благодаря использованию специальных расширений или подключению к одной из баз данных, которые поддерживают стандарт ODBC. Одна из причин популярности PHP заключается в том, что он предоставляет поддержку для различных баз данных, включая MySQL, Oracle и MS Access (в целом более 20), а также может быть использован для создания новых баз данных. При этом для PHP характерна простота генерации страницы, работающей с базой данных.

5. PHP для мобильных приложений

Главная цель мобильного приложения — вовлечение пользователей или партнеров в ваш бизнес. Здесь персонализация клиентского опыта и создание правильного контекста имеют огромное значение. Поэтому сегодня можно встретить мало самодостаточных приложений, и большинство из них опираются на бэк-энд сервисы. Серверная часть приложения отвечает за объединение различных данных с мобильного устройства, паттернов поведения пользователей, за сохранение настроек пользователей и т.д. Несколько фреймворков PHP, среди которых Symfony и Laravel, весьма неплохо подходят для создания бэк-энда мобильных приложений.

Например, создавая приложение для студентов, желающих подготовиться к экзаменам SAT и ACT, мы использовали Symfony в качестве основы для разработки. Такое решение было принято, поскольку этот фреймворк лучше всего подходит для разработки REST API, который в нашем случае был разработан на архитектуре HATEAOS. В комбинации с несколькими другими техниками, которые базируются на разных языках был создан хорошо работающий продукт.

5b41182d91165

Итак, что же может PHP?

Благодаря обширному сообществу, широкому спектру функций, большому набору фреймворков, PHP подвластно практически все. Сбор данных, скриптирование серверной части, динамическая генерация контента — всего лишь некоторые сферы его применения. PHP может использоваться практически на всех операционных системах, включая Microsoft Windows, Linux, большинство Unix вариантов и macOS. Он также имеет поддержку для большинства серверов и баз данных.

По этим причинам PHP — хороший выбор для создания успешных проектов. Долгое время PHP не рассматривался в качестве достаточно серьезного языка для разработки больших веб-приложений и преимущественно был известен как хороший вариант для небольших проектов. В последнее время ситуация существенно изменилась. Фреймворки PHP (Symfony, Laravel, CakePHP, Zend и т.д.) расширяют способности языка.

Источник

Что такое PHP и почему его все ненавидят

Несмотря на то, что 83% сайтов в интернете работают на PHP.

История языка

Изначально PHP расшифровывался как Personal Home Page Tools — инструменты для создания персональных страниц. Дело в том, что раньше, чтобы сделать функциональный сайт, чаще всего использовали C, Perl и CGI-скрипты. Звучит сложно, на деле — тоже сложно. Единственным способом сделать что-то своё и не изучать при этом три тома по программированию был PHP.

Например, можно сделать так:

Привет! А вы знаете, что

В результате на странице получится строчка: «Привет! А вы знаете, что этот код написан на PHP?»

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

PHP — это просто

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

Комментарии и точка с запятой. Комментарии можно ставить в любом месте — достаточно написать два слеша подряд. А точка с запятой ставится после каждой команды — точно так же, как в С, Pascal, JavaScript и ещё в сотнях других языков.

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

Вывод на экран. В HTML-коде достаточно вставить команду echo, которая помещает текст в то место, откуда вызвали команду. Например, этот код покажет заголовок первого уровня с текстом «Заголовок, собранный на PHP»:

И этот код сделает то же самое:

Ещё в PHP есть классы и объекты, автоматическое приведение типов (хотя мало кто понимает, как оно там работает в сложных примерах) и множество встроенных функций, которые упрощают разработку и помогают быстро писать код. А самое главное — PHP сам заставляет работать любой код, если он хоть как-то написан по правилам языка. Даже если внутри будет полная чушь, но похожая на PHP-код — интерпретатор его старательно выполнит, и, скорее всего, многое из этого будет даже работать.

Для чего нужен PHP

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

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

PHP возьмёт файл header.php, в котором мы написали, как должна выглядеть шапка сайта, и поставит её в начало страницы. То же самое сделает и с подвалом — файлом footer.php, и так будет на каждой странице товара. Получается, что нам не нужно писать один и тот же код шапки и подвала на каждой странице, достаточно сделать это в одном месте, а потом подключать одной строчкой.

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

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

Работать с формами и данными на странице. HTML плохо умеет работать с формами и отправлять куда-то данные, которые вы вводите в поля регистрации. PHP справляется с этим гораздо лучше: вы говорите, из какого поля что нужно взять и по какому адресу отправить, а всё остальное интерпретатор делает за вас.

Запоминать пользователей и делать формы авторизации. Если вам нужно быстро написать свою форму регистрации на сайте или запоминать посетителей даже без регистрации, то PHP — самый простой вариант решения этой задачи. Единственное, что нужно знать — как работать с базами данных, где хранятся записи о пользователях, потому что PHP это тоже умеет.

Почему все ненавидят PHP

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

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

Смешанный код. Писать в одном файле на PHP и HTML можно, если у вас всего одна форма обратной связи. Но когда весь сложный код на PHP расползается по всей странице, то это сильно мешает разобраться, что же там происходит на самом деле.

Любые переменные в любом месте. Понадобилась новая переменная? Объявите её на любом участке кода и сразу берите в работу. Это удобно для первоначальной разработки, когда ты просто берёшь новую переменную там, где она понадобилась, и делаешь с ней что хочешь. Но когда проходит время или кто-то другой хочет разобраться в коде, то такой подход сильно затрудняет работу.

Например, можно написать так:

Когда новый программист захочет понять, за что отвечают переменные а и b, он найдёт место, где они объявляются, и посмотрит, какого они типа и для чего использовались вначале. Но разработчик мог в процессе передумать и начать использовать эти переменные для других целей с новыми типами данных. Чтобы это понять, нужно просмотреть весь код и разобраться в логике, а это долго и трудно.

Стоит ли учить PHP?

Зависит от задачи. Дело в том, что не менее 80% сайтов уже сейчас работают на PHP: это значит, что их нужно будет еще какое-то время поддерживать. Ещё лет 5–10 спрос на PHP точно будет.

Однозначно стоит учить PHP, если хотите работать с Вордпрессом, Друпалом, Джумлой и другими известными системами управления сайтами. Они написаны на PHP, и все надстройки и дополнения — тоже. Хороший разработчик WordPress сейчас на вес золота.

Будут ли веб-разработчики массово переходить на другие технологии — вопрос открытый. Сейчас, если вы покупаете виртуальный хостинг, вам сразу включают интерпретатор PHP, потому что все его используют. А другие технологии типа Python или Node.js — не включают, их нужно устанавливать отдельно.

Но ведь и веб — это не навсегда. Ещё лет 20, и понятие веб-сайта может безнадёжно устареть, потому что люди будут в приложениях, соцсетях или ещё где похуже.

Наверное, ответ на вопрос такой: если вам до 20 лет, то уже не надо учить PHP. А если ближе к 40–50 и вы хотите заниматься вебом — то определённо да.

Что дальше

В следующей серии попрактикуемся в PHP — напишем свой код для пользы дела или для развлечений.

Источник

Язык программирования PHP: от истоков до современности

Ему ежегодно пророчили исчезновение из-за невостребованности. Но спустя годы он по-прежнему в топе. Встречайте самый распространенный язык — PHP.

Что за язык PHP и почему он так популярен

PHP: Hypertext Preprocessor (изначально Personal Home Page Tools, «Инструменты для создания персональных веб-страниц») — один из лидирующих языков современной веб-разработки. Его отцом считается датский программист Расмус Лердорф, который в 1994 году создал набор скриптов на Perl — ту самую «персональную домашнюю страницу», которая легла в основу PHP.

Первое свойство: интерпретируемость

Главная характеристика PHP — интерпретируемость. В отличие от Java, которая компилируется, а затем запускается в работу, PHP создается во время обращения к нему. Человек открывает сайт, на сервер посылается запрос, и в это время компилируется код. Каждый скрипт компилируется в реальном времени, а затем выполняется.

Приводим пример кода:

Благодаря этому свойству PHP — очень гибкий язык. Например, Java-программист вводит название класса один раз — теперь оно неизменно. PHP же компилируется в рантайме и можно подставить любое название класса из переменной.

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

Второе свойство: динамическая типизация

Языки программирования бывают:

1) со статической типизацией;

2) с динамической типизацией.

В первом случае тип переменной определен жестко и заранее. Если это число, программист напишет тип int. Если строка — string. Во втором случае переменная может быть одновременно числом, строкой, массивом, объектом — чем угодно. Одной переменной можно присвоить число, затем массив, объект — и язык программирования это позволит. PHP относится ко второй группе.

Но есть проблема

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

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

Обзор версий: между первой и седьмой

Версии с первой по третью были «сырыми»: мало возможностей, хотя для создания простых сайтов их хватало. С версии 5.4 PHP стал отлаженной технологией. До этого было слишком много нюансов, и работать с ними было непросто.

Релизы 5.5 и 5.6 — серьезные, проверенные временем вещи. Они отлично себя показали и достаточно защищены от инъекций и возможностей взлома.

Шестую версию пропустили: она должна была поддерживать Unicode на уровне ядра, но релиз не состоялся. «PHP6 был амбициозным, но отстойным. Вот почему мы занялись PHP 7, в процессе пропустив шестую версию», — прокомментировал в своем блоге Vilson Duka, один из разработчиков.

Седьмая версия считается революционной в плане скорости. 5.6 медленно работала с массивами и вообще с переменными: обработка статически нетипизированных данных происходила долго. Строка обрабатывалась в 60 раз медленнее, чем на C#. Это не бросается в глаза — речь о долях секунды. Но когда у тебя миллиард пользователей, как на Facebook, скорость критична.

HipHop и прорыв в скорости

Facebook написан на PHP — проблему нужно было решать. Их программисты создали для пятой версии собственный интерпретатор языка. Они компилировали его изначально в промежуточные коды, а затем отправляли в обычный интерпретатор Zend Engine. Программисты Facebook ввели статическую типизацию и ускорили работу языка в два раза. Это стало настоящим прорывом. Транслятор назвали HHVM, или HPHP Compiler — «HipHop для языка PHP».

Но команда разработки PHP плотно занялась массивами. Итогом стала седьмая версия, которая работала быстрее HHVM. При этом статической типизации в PHP7 по-прежнему почти нет. Только в параметрах функции — но это так мало, что можно считать, будто нет.

С версии 7.0 до 7.3, которая сейчас в бета-тестировании, язык ускорялся — разница видна по замерам:

3caef58d203fbe2b631f5e48557c608fb5a99c97

7.3 станет последним релизом: поддерживать и править ошибки будут, но ничего принципиально нового не появится.

Будущее PHP: восьмая версия

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

Восьмая версия появится ориентировочно в 2020–2022 годах. На open source-платформах изменения принимаются общим голосованием совета разработчиков. Сейчас идет тестирование нововведений в PHP 8.

В мире PHP ничего не происходит без движения сообщества.

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

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

Для чего используют PHP

Единственное применение — это веб-разработка. На PHP невозможно сделать десктопные приложения, он не используется в мобильной разработке — только веб. Но сегодня эта область огромна. Даже некоторые десктопные приложения уходят в веб — тот же Microsoft Office имеет облачный сервис. Ранее считалось, что PHP не подходит для больших высоконагруженных проектов, но опыт Facebook доказывает обратное. «Авито» — еще один пример удачной реализации. Подробнее о том, как использовать PHP — в нашей статье Для чего используют PHP и почему его ненавидят.

С чего начать изучение

PHP легко изучить самостоятельно за счет низкого порога входа. Буквально за вечер можно прочитать документацию и написать скрипт, который будет возвращать данные на сайт. Другие языки (C#, Java) имеют более высокий порог вхождения, и одного дня мало, чтобы создать работающий код. Сегодня на российском рынке труда из-за низкого порога входа PHP-кодеров много, и большинство — невысокого уровня.

00ae2f2f91cc9895a31bef97481699637e7e1246

Хороший разработчик PHP фактически применяет те же паттерны программирования, что и в статически типизированных языках. На PHP даже сложнее программировать, и вот почему. Если в Java или C# допустить алгоритмическую ошибку, например, присвоить переменной не тот тип, — они «дадут по рукам». PHP же это пропустит, и программист сломает голову: что не так? Ведь все работает, но неправильно. Из-за этого на современном рынке хорошим программистам PHP готовы платить чек не ниже, чем другим разработчикам. Но хорошего специалиста сложно найти.

Чтобы учить язык, нужно задать себе вопрос: «Для чего он мне?» Учить ради процесса учебы — бесполезно, ведь без практического применения знания забудутся. Нужно поставить конкретную задачу и искать решение.

Начинайте изучать PHP в интернете: сегодня выпускается много видеоуроков, онлайн-лекций и тренажеров. Рекомендуем наш курс «PHP-разработчик», где вы прокачаете свой уровень с нулевого до профессионального.

Программное обеспечение с открытым исходным кодом.

Источник

Моя дача
Adblock
detector