Стоит ли учить PHP в 2022 году
IT-индустрия – динамичная сфера, где новые технологии и решения могут кардинально изменять структуру рынка, что влияет на популярность того или иного стека. Также IT-рынок подвержен субъективному хайпу, когда на какие-то технологии и языки программирования обращают чрезмерное внимание без объективных предпосылок к этому. Все это по итогу влияет на востребованность специалистов по конкретному языку, работающих на конкретной технологии, на определенной зарплатной вилке.
В этой статье я поделюсь своим мнением насчет востребованности PHP, как современного языка программирования – актуален ли он на 2022 год или нет.
Что из себя представляет PHP
Обычно при обсуждении языка программирования приводят его сильные стороны, поэтому я буду следовать традиции и расскажу, почему PHP – это клевый и современный язык программирования.
Отличная производительность. Команда CORE PHP разработчиков выполнила гигантскую работу по оптимизации PHP и сделала его более производительным. Так, например, в своей статье Дмитрий Стогов приводит бенчмарк для версии PHP 7.0, где демонстрируется, что PHP обходит по производительности своих конкурентов, таких как Python и Ruby, и даже не сильно отстает от Java с выключенным JIT.
В версии PHP 8.0 завезли нативный JIT, что вывело его производительность на уровень лучших языков программирования. Поэтому я уже давно с недоумением смотрю на людей, которые говорят, что PHP медленный. Когда-то это было так, но сейчас он обходит своих конкурентов по производительности.
Эффективный синтаксис языка. Хотя PHP часто критикуют за то, что он сделан академически неправильно, у него есть одно безусловное преимущество: его универсальные конструкции достаточно эффективны, чтобы на них решать большую часть задач и не тратить время на выбор подходящей структуры данных. В итоге достигается большая скорость разработки, а это именно тот фактор, который решает, будет ли проект успешен или нет. Как бы программисты не рассуждали о том, что на определенном языке невозможно сделать хороший проект, а на другом можно, все же ключевой показатель – это Time-To-Market. И вот тут PHP – король!
Разумеется, в PHP работа со строками сделана не так круто, как в Python, а конструкция switch/case не насколько богата, как в том же Swift, но, во-первых, работа в эту сторону ведется, а во-вторых, возможностей современного PHP уже достаточно для решения большинства задач в элегантной манере. Как говорится, CodeWars вам в помощь!
При этом, если нужно оптимизировать какой-то участок кода, можно воспользоваться SPL, где уже сосредоточиться на том, что именно вы хотите сделать.
Современные фреймворки. Хаос в мире PHP, когда каждый школьник писал своей велосипед непонятного качества, подходит к концу. На рынке определился устойчивый стек технологий, знание которого ожидают от разработчика. В данном случае для разработки малых и средних проектов принято использовать Laravel, а если вам нужно сделать полноценную корпоративную систему, то лучше выбрать Symfony. Для работы с базой принято использовать Doctrine, который является фактически реализацией Hibernate из экосистемы Java. Это все – современные решения, которые впитывают в себя лучшие практики и активно развиваются большим комьюнити разработчиков. Работа с этими инструментами ведется удобно и эффективно.
Конечно, на рынке есть множество CMS систем, которые также эволюционируют и развиваются. И более того, как раз на поддержку таких систем можно найти первую работу и начать строить свою карьеру в IT. Но нужно понимать, что эпоха, когда у каждой компании есть сайт , заканчивается. Теперь принято использовать либо социальные сети, либо сайты построенные на конструкторах (wix/shopify/bigcommerce/tilda и так далее). Кстати, все эти конструкторы написаны на PHP и оцениваются в миллиарды долларов. Неплохо так для синего слоника!
Удобный туллинг. Разработка проекта – это не только написание бизнес логики, но и поддержание кода проекта в надлежащим виде. Для этого в мире PHP есть отличные инструменты: дебага (xdebug), оптимизация кода (blackFire),написание тестов (phpUnit), автоматический формат кода под стандарты (code_sniffer), а также статические анализаторы кода (PHPStan) и миграции на новые версии PHP и популярных фреймворков (rector).
Есть весь туллинг, который нужен современному разработчику, чтобы писать максимально надежный код надлежащего качества с минимальными тратами времени. Поэтому качество современных проектов на PHP становится гораздо выше, чем оно было раньше. И более того, я дам смелое замечание, что качество проектов на PHP становится выше, чем проектов на Python и Ruby в силу эволюции языка в условную Java с батарейками.
Направленная специализация. Все внимание CORE PHP разработчиков и PHP-комьюнити сосредоточено на том, чтобы сделать PHP максимально удобным и эффективным инструментом написания бекенда. Именно поэтому современные PHP-фреймворки и библиотеки оказываются лучше, чем аналоги на других языках программирования. Когда есть фокус и понятный вектор развития, можно сэкономить много времени и сил на второстепенные вещи.
Конечно, именно поэтому PHP нельзя назвать в полной мере языком общего назначения, ибо для других целей, кроме бека его редко используют. Но вы уже должны для себя решить: вам нужна призрачная универсальность или максимальная эффективность? Тем более специализация первична для разработчика, язык вторичен.
Учебные материалы и профессиональная литература. С релизом PHP 7.0 язык перешел в категорию клевых языков программирования, поэтому для него стали писать книги и записывать курсы настоящие профессионалы своего дела. Поэтому сейчас можно найти множество хороших онлайн-курсов на PHP, бесплатных туториалов на YouTube и книг по PHP с Laravel и Symfony.
Определенная часть материалов все еще доступна только на английском языке, но уже лишь вопрос времени, когда это все издадут на русском. Я сделал краткие обзоры современных книг по PHP, вы можете найти их в моем профиле.
Развитое сообщество разработчиков. PHP развивает и продвигает сплоченная группа людей, верящих в светлое будущее PHP и делающих каждый день его лучше и популярней. Значительная часть этих ребят – русскоязычные ребята, которые открыты к диалогу и обмену мнениями.
Более того, у PHP есть THE PHP FOUNDATION, который готов спонсировать работу талантливых разработчиков, уверенных в своих силах и желающих сделать PHP еще более лучшим языком, чем он есть сейчас.
Поэтому если есть желание сделать работу, от которой будет зависеть работа тысяч PHP-разработчиков – never give up on your dreams. Это возможно независимо от возраста!
Что по ситуации на рынке с PHP
После того, как мы определились с тем, что PHP – клевый и производительный язык программирования, поговорим о ситуации на рынке: на что может рассчитывать человек, который посвятит свое время работе на PHP. Ведь именно от того, на каких проектах будет работать человек, зависит его карьера и финансовые возможности.
Достаточно быстрый старт карьеры на PHP. Если мы посмотрим на Python или Ruby, то обнаружим, что начальные позиции требуют достаточно высокого уровня компетенции разработчиков. И причина заключается в том, что на Ruby и Python не пишут «стандартные» проекты. Каждый проект на Python (Ruby) представляет собой кастом. Без коммерческого опыта, если вы не являетесь выпускником топового вуза, попасть на такой проект достаточно сложно.
На PHP ситуация совершенно другая. Тут большое количество стандартных проектов, на которых можно начинать свою карьеру и набивать руку, печатая значок доллара в PhpStorm. Да, это будут не самые передовые и интересные проекты, но вы начнете свою карьеру, пока на другом стеке вам нужно было бы все еще бежать за поездом it-индустрии. А дальше нужно лишь добрать знания и опыт и можно переходить на кастом (Symfony или Laravel).
Гораздо лучше уже работать в индустрии, получать коммерческий опыт и учиться на живых проектах, чем сидеть дома и пытаться самостоятельно вытянуть себя на позицию крепкого джуна. Сделать это достаточно сложно, гораздо лучше развиваться в рабочем коллективе.
Огромное количество досягаемых компаний. Когда идет обсуждение вакансий, многие приводят цифры, что условно на Django 60к вакансий, а на Laravel только 11к. Но если посмотреть географию этих вакансий и прикинуть ваши шансы устроиться на них без серьезного опыта и хорошего английского языка, окажется, что в СНГ на Laravel вакансий больше,чем на Django. Ну и естественно ваши шансы также выше!
Вам же нужно устроиться на работу, начать получать опыт, зарабатывать деньги, а не считать потенциальные вакансии где-нибудь в Сиэтле, на которые вы сможете претендовать лет через 5 минимум. Поэтому с PHP все очень хорошо в плане вакансий, гораздо лучше, чем на многих других стеках.
Компании с хорошим продуктом. На PHP уже давно делают не только сайты визитки и форумы, но и качественные продукты, которыми каждый день пользуется огромная аудитория людей. Более того, эти компании представлены в различных сферах, поэтому PHP-разработчики могут поработать с разными продуктами.
Совсем недавно, я привел характеристики топовых компаний и предложил список компаний на PHP-стеке, которые считаю отличными. Ознакомиться со статьей вы можете по ссылке — «Tier-1 компании на рынке PHP в РФ«.
Работа с возражениями по PHP
Выше мы обсудили, почему стоит выбрать PHP в качестве своего стека, и я привел аргументы в пользу старта карьеры на PHP. Теперь я постараюсь ответить на самые популярные возражения против того, чтобы учить PHP, которые приводят его оппоненты.
Низкие зарплаты на PHP. Да, действительно, разработчики на PHP в целом получают на 15-25% меньше, чем получают разработчики на Java, Go или тот же Swift. Но такая разница достигается за счет того, что на PHP много дешевых вакансий на поддержку не самых сложных CMS систем, а на том же Java топовые вакансии уходят куда-то в космос по деньгам и по сложности.
Если мы берем в целом middle разработчика на PHP (Symfony) и middle Java (Spring) разработчика, то разница в зарплате будет незначительной. При этом дорасти до middle уровня на PHP можно гораздо быстрее и приятнее, чем это делать на Java.
Поэтому если вы выбираете сложные и интересные проекты на PHP, а не ограничиваете себя поддержкой CMS систем, зарплаты на PHP показывают хороший уровень. Да и на CMS системах можно зарабатывать очень хорошие деньги, если работать на зарубежный рынок с условной Magento.
Если мы посмотрим обзор зарплат на хабре, то можно достаточно быстро заметить, что в общем-то различия между стеками не такие уж и большие. На php можно зарабатывать хорошие деньги в хорошей компании.
Разработчики на PHP уходят на GO. Да, действительно, в больших компаниях определенную часть логики монолитов на PHP переводят на GO. Поэтому некоторые PHP-разработчики учат GO, чтобы реализовать этот переход. Однако, это не говорит о том, что компании полностью отказываются от PHP, они лишь переносят определенную часть логики на более подходящую технологию для высоконагруженных микросервисов. Так, например, на PHP-конференции разработчики шутили, что хотя на GO получается хорошо, все же основную часть логики они пишут на PHP, так как это банально быстрее и эффективнее, чем делать на GO.
Поэтому нет никакого массового бегства PHP-разработчиков на GO. Есть разумное понимание, что нужно писать на PHP, а что писать на GO. От PHP никто не отказывается.
Плохие проекты на PHP. Да, действительно, на PHP, в силу наличия огромного числа различных CMS, есть множество проектов сомнительного качества. Но это не говорит о том, что все проекты на PHP плохие! Просто на том же Python или Java нет способа легко и быстро поднять несложные сайты, а на PHP эта возможность есть.
Если бы кто-то создал на Python удобную CMS систему (Django CMS не считаем, ибо она просто не может тягаться по удобству с CMS на PHP), то на Python также было много проектов низкого уровня.
Поэтому, если выбирать хорошие проекты на PHP, то сложность проекта и его качество будут сопоставимы с проектами на других языках.
PHP никому не нужен. Не нужно путать маркетинговый мусор и реальную ситуацию на рынке. То, что из каждого утюга говорят про Python и рекламируют его курсы, а про PHP никто ничего не говорит, никак не отражает реальную ситуацию на рынке востребованности той или иной технологии. Так, например, в своей статье «Сколько на самом деле вакансий на Python в веб-разработке (на примере Москвы)» я показал, что у нас чисто веб-вакансий на Symfony и Laravel больше, чем веб-вакансий на Python.
У PHP хорошая востребованность на рынке, можно достаточно легко найти хорошие вакансии. То, что язык не считается хайповым, не говорит о том, что он никому не нужен, он просто не хайповый и ничего больше.
Презрение к PHP в IT-индустрии. Мнение, что на PHP пишут плохие проекты плохие программисты появились в IT-индустрии тогда, когда действительно на PHP писалось много плохих проектов не самыми опытные программистами. И это происходило по той причине, что PHP был настолько прост и удобен, что многое прощал молодым разработчикам. И в этом в не было ничего плохого!
С тех пор прошло уже много времени, PHP развился в мощный и эффективный язык, который позволяет писать код надлежащего качества с правильной архитектурой. И это делается уже гораздо проще и лучше, чем на других стеках.
Однако, многие, кто продолжает критиковать PHP, застряли в прошлом и воспроизводят свой далекий опыт по работе с PHP. Это уже не имеет никакого отношения к реальности, но люди редко просто так отказываются от своих предубеждений. Поэтому просто нужно продолжать работать и своими проектами показывать, что PHP стал лучше!
PHP скоро умрет. Этому не суждено сбыться в ближайшем будущем. PHP занимает уникальную нишу на рынке, которую в свое время пытались отобрать Python, Ruby, Node.js и .Net Core, но все потерпели крах. Поэтому, пока язык развивается, пока на нем стартуют новые проекты, пока бизнес выбирает PHP, с ним все будет хорошо.
В своей статье «Потрясающее будущее PHP-стека для карьеры« я описал причину, по которым PHP – перспективный и актуальный стек. И у меня нет причин считать, что я ошибаюсь.
Почему не стоит учить PHP
После того, как я высказал свои аргументы против основных возражений против PHP, я хотел бы рассказать о реальных причинах, когда PHP не является оптимальным выбором. Нужно хорошо осознавать, что у всех технологий есть свои особенности и слабости.
Миграция в Северную Америку в топовую IT-компанию. PHP имеет хорошую популярность в СНГ и Европе. PHP также широко востребован для написания проектов средней сложности в США и Канаде. Также иногда в Северной Америке на нем пишут топовые проекты (тот же Facebook). Однако, если мы берем топовые компании Кремниевой Долины, то в большинстве из них не будет PHP. Это особенности рынка США и их нужно учитывать, если у вас была мечта переехать в США и устроиться в Microsoft или Google.
Исключительно backend. PHP имеет четкую специализацию по написанию backend для проектов разной сложности. Поэтому если вы хотите делать игры, писать мобильные приложения, заниматься computer vision, ML или какими-то другими сферами, то PHP вам не подойдет по той причине, что вы просто не сможете это сделать.
Максимальный доход, как разработчик. Если у вас есть цель получать максимальный доход, работая разработчиком (не свой бизнес, не свои проекты, не руководящая позиция, а вот именно как разработчик), то пока PHP не может предложить топовые зарплаты. На рынке существует множество вакансий с хорошим уровнем оплаты (максимально приближенным к топовым), но если вот прямо нужен топ, то это скорее Java, GO или Swift в определенных компаниях. Но тут уже каждый для себя выбирает, что подходит конкретно ему.
Стоит ли учить PHP: Итоги
PHP – это современный и эффективный язык программирования, который имеет уникальную нишу на рынке. Возможностей языка и экосистемы PHP достаточно для написания проектов самого разного уровня. На PHP много вакансий на рынке, и он востребован для написания новых проектов, что говорит о хороших перспективах для языка в будущем. PHP поддерживается большим числом людей, поэтому нет повода считать, что с ним будет что-то не так.
PHP – это отличный язык для старта своей карьеры в IT-индустрии и развития себя как востребованный и высокопрофессиональный разработчик. Праздник жизни будет продолжаться вместе с PHP, и 2022 год не станет исключением.
Что написано на 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 был первой версией, напоминающей PHP, каким мы знаем его сегодня. Посчитав PHP/FI 2.0 всё ещё неэффективным и недостаточно функциональным для использования в коммерческих приложениях, разрабатываемых для их университетского проекта, Энди Гутманс и Зив Сураски из Тель-Авива начали ещё раз заново переписывать парсер в 1997 году. Связавшись с Расмусом, они обсудили различные аспекты текущей реализации и их новой разработки PHP. Для улучшения движка и использования уже существующей базы пользователей PHP/FI, Энди, Расмус и Зив решили сотрудничать в развитии нового, независимого языка программирования. Этот совершенно новый язык был выпущен под новым именем, без упоминания о персональном использовании, как в PHP/FI 2.0. Он был назван просто «PHP» — аббревиатура, означающая рекурсивный акроним — PHP: Hypertext Preprocessor.
Одной из сильнейших сторон 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 теперь установлен на десятки или даже, возможно, сотни миллионов доменов по всему миру.
User Contributed Notes
There are no user contributed notes for this page.
- История PHP и смежных проектов
- История PHP
- История смежных с PHP проектов
- Книги о PHP
- Публикации, посвящённые PHP
Для чего используют PHP и почему его ненавидят
Для чего нужен язык программирования PHP: какие возможности он дает, что можно реализовать с его помощью и в чем главная боль PHP-разработчиков.
Евгений Кучерявый
Пишет о программировании, в свободное время создаёт игры. Мечтает открыть свою студию и выпускать ламповые RPG.
PHP — один из самых популярных языков программирования в веб-разработке. Он применяется для создания сайтов и веб-приложений любой сложности: от лендингов и блогов до интернет-магазинов и браузерных игр.
Его преимущества — в широких возможностях и защищенности благодаря закрытому исходному коду. К минусам можно отнести то, что без сервера с интерпретатором код работать не будет (исправлено в новых версиях языка).
Какие задачи можно решить на PHP
Для начала работы создается страница с расширением .php или .html (в зависимости от конфигурации сервера). Исходный код этой страницы содержит теги разметки html и непосредственно PHP-команды. Они заключаются между операторами (допустимо писать ) и ?>. Вот как выглядит подобный код:
Базы данных
К сайту на PHP подключается база данных. Это во многом упрощает разработку, потому что вся информация будет храниться в таблицах, а не в самом коде. Так быстрее редактировать и добавлять данные на сайт.
Например, сведения о пользователе. Если бы не базы данных, пришлось бы хранить все авторизационные данные в коде, а это не лучший вариант, потому что тогда загрузка длилась бы вечность.
Продолжим пример с авторизацией. Страница auth.php получает логин и пароль. Дальше она может сделать запрос в базу данных, чтобы узнать, существует ли такая комбинация.
Одна из причин ненависти к PHP — переменные. Если в других языках их нужно объявить заранее, да еще и указав тип, то в PHP можно просто поставить знак «$» в любой части кода.
Сравните код на C:
int a; //Объявляем числовую переменную a = 5*10; //Проводим с ней операции
$a = 5*10; //Объявляем и сразу же начинаем вычисления
С одной стороны, это упрощает жизнь. С другой — в переменную можно поместить что угодно и когда угодно. У них нет какого-то типа, а это значит, что число запросто может стать строкой. Если вы этого не хотели, то вместо вычислений вы получите ошибку. Это и дар, и проклятие одновременно.
Следующая причина — смешанный код. PHP приходится использовать в файлах с версткой HTML. Это затрудняет работу с кодом, потому что не всегда можно легко найти нужный фрагмент или понять, где ты находишься сейчас.
Другие языки, вроде JavaScript, можно выносить в отдельный файл и оттуда взаимодействовать со страницей. В PHP же это будет выглядеть так:
= 1) < while($article = mysql_fetch_array($queryResult)) < echo “$article[title]
”; > > else ?>То есть исходный код является смесью двух языков. Хотя этого можно избежать, если не писать код в этом же файле, а подключать другие, как это было в примере с подключением шапки и футера.
Еще PHP достаточно прост в изучении, поэтому на нем создано около 83% сайтов по всему интернету. Его простота стала причиной появления миллионов сайтов с кривым кодом. Поэтому можно сказать, что ненависть вызвана неопытными разработчиками.
Новички любят всё усложнять и пишут так:
”; echo “”; echo “”; echo “
”.$title.” ”; echo “”; echo “”; echo $text; echo “”; echo “”; ?>Хотя можно написать так:
И хотя таких примеров много и в других языках, именно простота PHP послужила благоприятной средой для появления всего этого добра. Если на C# придется постараться, чтобы заставить кривой код работать, то PHP постарается за вас.
Также можно сказать, что определенная доля предвзятости будет всегда. В новых версиях языка исправлено очень много ошибок, но программисты все равно продолжают смеяться над ними, потому что сложилась такая традиция.
В старых версиях была уязвимость, которая позволяла создать переменную через ссылку. То есть если сейчас из ссылки? var=5 мы получим ячейку в супермассив $_GET, раньше создавалась еще и переменная $var. И если программист забывал выполнить проверку всех данных, то его сайт был в опасности. Сейчас этой уязвимости нет, как и многих других, но мнение людей все равно не меняется.
У PHP на самом деле много недостатков:
- неудобная работа с объектами;
- огромное количество встроенных функций, которое замедляет загрузку и ограничивает в выборе имени для своих функций;
- небольшое количество пакетов и фреймворков;
- неудобные регулярные выражения;
- отсутствие многопоточности и так далее.
Многие ошибки исправляются, и с каждой версией их становится меньше, хотя PHP считают «мертвым» языком уже больше 20 лет.
Заключение
PHP — отличный язык, с помощью которого можно реализовать любой функционал. Хоть его и не любят многие разработчики, со своей задачей он справляется отлично. И неразумно игнорировать его просто потому, что так делают многие, — нужно просто подстроиться под несколько недостатков, чтобы воспользоваться огромным количеством преимуществ.
Читайте также:
- Как начать программировать на PHP
- История перфокарт: от гомеоскопа до диска-многоножки
- Учимся верстать: что такое CSS
Язык программирования PHP: рейтинг, сферы применения, прогнозы экспертов
PHP — это язык программирования, который создавали для разработки веб-приложений, но позже он эволюционировал в язык общего назначения.
PHP — язык с динамической типизацией. Это значит, что код на нем прост для чтения и понимания, а разработка — быстрая. PHP — интерпретируемый язык. Это значит, что компьютер понимает код на PHP и воспроизводит программы без предварительного перевода в машинный код.
Иногда русскоязычные специалисты называют PHP «пхп». Это не совсем верно, но такое произношение и написание закрепилось в профессиональном жаргоне. Поэтому не удивляйтесь, если услышите фразу «язык программирования пхп».
Профессия «PHP-разработчик»
- Изучите самый популярный язык для бэкенд-разработки — PHP
- Разберитесь в базах данных и научитесь управлять ими с помощью SQL
- Освойте самый популярный фреймворк PHP — Laravel, чтобы быстро писать код и автоматизировать рутину
- Познакомьтесь с языками веб-разработки HTML и CSS, чтобы понимать, как устроены интернет-страницы
Где используют PHP
Как мы сказали ранее, PHP относится к языкам общего назначения. Однако чаще всего он применяется в разработке веб-приложений.
PHP — это серверный язык, то есть он исполняется на сервере. Написанные на PHP программы получают данные от пользователей сайта, обрабатывают их, взаимодействуют с базами данных, а затем возвращают на сайт обработанную информацию.
На PHP написаны популярные системы управления контентом (CMS), например, WordPress, Joomla!, Drupal. На этом языке также написаны и популярные фреймворки для создания сайтов, например, Laravel, Yii2, Symfony. Наконец, соцсеть «ВКонтакте» тоже создана на PHP.
Читайте также: Верстал сайты на коленке, но стремился к большему: история PHP-разработчика
Популярность и рейтинг PHP
Существует несколько рейтингов и исследований, которые вычисляют индекс популярности языков программирования.
Индекс TIOBE рассчитывается по количеству поисковых запросов с названием языка. То есть он отражает интерес пользователей интернета к конкретным языкам программирования. По результатам марта 2023 года PHP занимает девятое место среди самых популярных языков программирования в этом индексе и опережает Go, Objective-C, Swift, Ruby.
Рейтинг GitHub Octoverse ежегодно учитывает частоту применения языков пользователями GitHub. По итогам 2022 года PHP занимает седьмое место в этом отчете. По частоте использования на GitHub этот язык уступает JavaScript, Python, Java, TypeScript, C# и C++.
Если вы живете и планируете работать в регионах, а не в Москве или в Санкт-Петербурге, при оценке популярности PHP учитывайте следующий момент. В регионах именно PHP — простой и быстрый способ влиться в разработку. Этот язык массово используют региональные веб-студии, которые делают сайты на заказ.
Будет ли популярен PHP в ближайшем будущем
Чтобы ответить на этот вопрос, давайте проанализируем рейтинг W3Techs . В марте 2023 года 63,3% всех сайтов в мире работают на платформе WordPress. В январе 2020 года этот показатель составлял 62,1%, а в январе 2019 года — 59,7%. Значит популярность WordPress, который работает на PHP, растет. Доля Joomla! и Drupal в марте 2023 года составляет 2,7% и 1,8%, соответственно. Эти CMS тоже написаны на PHP.
Суммарная рыночная доля трех указанных движков составляет 68%. К ней можно прибавить менее популярные CMS, написанные на PHP, а также сайты на фреймворках, например, Laravel или Yii2.
Системы управления контентом развиваются, работающие на них сайты массово не закроются. Поэтому востребованность PHP в обозримой перспективе будет высокой.
Зарплата PHP-программиста
Уровень заработка PHP-разработчика зависит от региона, квалификации специалиста, режима трудоустройства (удаленка или офис, штат или фриланс) и других факторов. Поэтому для определения уровня зарплат в вашем регионе придется изучать информацию самостоятельно.
В конце июня 2022 года компания Superjob проанализировала зарплатные индексы в IT-секторе и выяснила, что самый большой прирост в зарплате оказался у PHP-разработчиков. Такие программисты в среднем зарабатывают в Москве 250 тыс. рублей, в Санкт-Петербурге — 210 тыс., а в Екатеринбурге и Ростове-на-Дону — по 200 тыс. рублей.
Самостоятельно изучить рынок труда в своем регионе можно с помощью специализированных карьерных сайтов. Например, по запросу «PHP» на hh.ru в марте 2023 года есть около 3660 вакансий с зарплатной вилкой от 70 тыс. рублей до 370 тыс. рублей.
Сложно ли изучать PHP
PHP — язык с низким порогом вхождения. Речь идет как об особенностях самого языка, так и о доступности информации: в интернете очень много литературы, платных и бесплатных курсов и упражнений по PHP. Новичкам стоит начинать обучение не с изучения языка, а с изучения программирования.
Перспективы PHP: мнения экспертов
Валентин Удальцов: «Мода на языки меняется, но PHP остается в десятке самых популярных»
О репутации PHP. Создатель PHP Расмус Лердорф изначально задумывал PHP как шаблонизатор, который позволил бы ему делать веб-страницы. Когда PHP стал полноценным языком программирования, Расмус признался, что никогда не думал, что PHP станет таким популярным языком.
Потом PHP развивали разные разработчики, у которых были свои взгляды и планы на этот язык. Из-за этого со временем в синтаксисе PHP накопилось много нелогичностей и неточностей, которые спровоцировали бурные обсуждения сообществе и слухи о скорой смерти языка. Также был период, когда PHP почти не развивался.
Сейчас же все изменилось. Теперь у PHP есть стабильный цикл релиза, достаточно активная поддержка. Новые версии языка включают и крутые фичи, и рефакторинг, исправляющий старые ошибки. Исходный код языка переехал на Github, что привлекло новых контрибьюторов, а сайт externals.io позволил пользователям языка высказывать предложения по улучшениям в PHP и получать обратную связь. Недавно на базе платформы Open Collective появилась организация PHP Foundation , которая на деньги инвесторов нанимает разработчиков на C и организует работу над языком.
О том, что PHP скоро умрет, говорят уже лет 20. И он до сих пор не умирает. Мода на языки меняется, но PHP остается в десятке самых популярных языков.
О достоинствах языка и перспективах. На PHP создано много сайтов. На этом языке пишут свои сервисы такие крупные компании, как «Авито», Skyeng, Lamoda, «СберЗдоровье» и «Юла».
PHP позволяет начать с малого и постепенно переходить к более сложному. Язык отлично интегрирован с базами данных, системами очередей, и у него есть расширения для работы со всем, что нужно современному бэкенд-разработчику. На PHP можно также практиковать любые архитектурные паттерны: CQRS, EventSourcing, Messaging и другие.
На мой взгляд, PHP вряд ли вытеснит популярные сейчас языки. Но я не сомневаюсь, что ближайшие лет 10 он продолжит жить, пусть и на второстепенных позициях. А дальше все зависит от PHP-разработчиков. Чем больше людей будет присоединяться к сообществу и менять язык к лучшему, тем многофункциональнее и популярнее будет PHP и скорее восстановится его репутация.
О плюсах выбор PHP для новичков. Во-первых, на PHP буквально сразу можно писать все, что душе вздумается, а дальше при желании вырасти до серьезного энтерпрайз-кода и попасть в крупные известные компании.
Во-вторых, у PHP классное комьюнити, постоянные конференции, такие как PHP Russia , много каналов информации, в том числе мой канал Пых , и образовательных курсов.
В-третьих, у PHP-разработчиков неплохая зарплата — в среднем от 180 до 250 тыс. рублей в зависимости от региона и позиции (по данным SuperJob на 2022 год).
Александр Макаров: «На ближайшие 15-20 лет у PHP-разработчиков будет много высокооплачиваемой работы»
О достоинствах языка и новых версиях. PHP — отличный язык для веб-разработки и API. У него хорошая инфраструктура, есть семантическое версионирование, фреймворки под разные хостинги и инструменты мониторинга. PHP находится в десятке лучших языков уже более 20 лет, на нем ведут свои проекты крупные компании, а это значит, что у него хорошие перспективы.
PHP — это язык номер один по перформансу среди интерпретируемых языков в мире. Радует, что с каждой новой версией производительность языка возрастает.
Также у PHP недавно появились альтернативные рантаймы (среды выполнения), типа RoadRunner. Они позволяют срезать расходы ресурсов компаний на инициализацию приложения — на настройку и запуск всех необходимых библиотек и фреймворков.
Кстати, с новыми версиями у PHP появилась возможность включать строгую типизацию. Это сильно помогает в написании кода, так как синтаксис стал более лаконичным.
О перспективах языка. PHP всегда был одним из главных языков веб-разработки, но, я уверен, что в ближайшем будущем он станет языком общего назначения. Уже сейчас на PHP можно не только создавать веб-приложения, но и заниматься системным программированием, автоматизацией рабочего процесса. Также с помощью этого языка программисты разрабатывают IoT-девайсы (интернет вещей), вроде умных чайников.
С самого появления PHP разработчики говорят, что он будет терять позиции, однако другие языки рождаются и умирают, а PHP долгие годы держит одни и те же позиции в рейтингах.
Так что перспективы PHP-разработчика на рынке труды высоки. На ближайшие 15-20 лет у них будет много высокооплачиваемой работы. А дальше, если вдруг что-то случится с языковом сообществом, что вряд ли, можно будет перейти на другой язык. Например, PHP похож по синтаксису на Java, поэтому, если у разработчика будет необходимость, у него получится плавный переход.
О плюсах выбора PHP для новичков. Во-первых, у PHP низкий порог входа. Изучение языка, особенно на начальных этапах, будет простым.
PHP изначально создавали с мыслью, что это будет простой язык. Со временем он усложнился, потому что выросла сложность задач, которые он решает. Однако в этом плюс языка: на PHP можно создавать как простые продукты через простые языковые конструкции, и сложные продукты через сложные конструкции.
И во-вторых, огромный плюс PHP — это его языковое сообщество. Многие языковые комьюнити снобские. То есть если новичок задает там вопрос, его либо посылают читать документацию, либо вовсе не отвечают. В сообществе PHP наоборот: у нас принято брать новичков под руки и постепенно вводить в язык, все рассказывать о нем.
Дмитрий Елисеев: «PHP делает всего одну работу, но делает ее идеально»
О плюсах и минусах языка. Если рассматривать все языки с их разделением по областям применения, то есть языки общего назначения, на которых пишут софт разного типа, и есть специализированные, на которых чаще пишут что-то одно.
PHP в этом плане сильно специализированный, так как он используется только для разработки сайтов. В такой специализации есть как плюс, так и минус.
Минус в том, что PHP приспособлен только к стандартному для него синхронному однопоточному выполнению в рамках веб-сервера, а остальное пока не очень умеет. Так что как только требуется сделать что-то для него нестандартное, то возникает необходимость эмулировать эти вещи или делать остальные части на других языках вроде серверного JavaScript для асинхронности или Go для многопоточности.
А плюс в том, что хоть он и делает всего одну работу, но делает ее идеально. Разработчики самого языка не отвлекаются на посторонние задачи и совершенствуют его только в основном направлении, оптимизируя скорость и привнося только важные для него новшества из других языков. Поэтому в нише скриптовых интерпретируемых веб-языков PHP практически является самым быстрым.
К тому же это язык с синтаксисом из семейства более продвинутых Java и C#, что позволяет PHP-программистам учиться у них и при необходимости легко перейти на любой язык этой группы. С Ruby или Python со своим обособленным синтаксисом это будет сделать проблематично.
О перспективах. В PHP переходят хорошие практики из других языков. Создаются и развиваются профессиональные фреймворки. Так что из языка для любительских сайтов он уверенно переходит в нишу быстрых профессиональных веб-проектов, авторам которых не хочется поднимать тяжелые серверы на Java. Учить PHP сейчас или нет? Каждый раз накатывает новая волна технологий и каждый раз снова и снова «хоронят» PHP фразами, что вот-вот очередные Ruby или NodeJS победят PHP. Но десятки лет проходят, а все никто его не побеждает.
Помимо продвинутого программирования веб-приложений на фреймворках, PHP отличается наличием большого числа CMS для разработки стандартных сайтов. И они никуда исчезать не собираются. Для экзотических задач удобны экзотические языки. А для классических проектов успешно хватает классического PHP. Так что всегда можно сказать, что другие языки приходят и уходят, а PHP, С++ и Java скорее всего вечны. И работы на них всегда будет много.
Стоит ли учить PHP: вывод
PHP в обозримой перспективе останется востребованным языком. Его используют в веб-разработке, на PHP написаны популярные движки для сайтов и фреймворки. Это целая инфраструктура, которая требует постоянного участия программистов. Поэтому специалисты по PHP останутся востребованными на рынке труда.
Профессия «PHP-разработчик»
- Изучите самый популярный язык для бэкенд-разработки — PHP
- Разберитесь в базах данных и научитесь управлять ими с помощью SQL
- Освойте самый популярный фреймворк PHP — Laravel, чтобы быстро писать код и автоматизировать рутину
- Познакомьтесь с языками веб-разработки HTML и CSS, чтобы понимать, как устроены интернет-страницы