Язык программирования PHP | ч.3

Правда о PHP

PHP имеет низкий порог вхождения. Это чистая правда. Имея C-подобный синтаксис, несколько похожий даже на shell, этот язык легко освоить, легко понять на нём программу и написать свою. При изучении и запуске программ можно пользоваться как всевозможными внешними PHP-серверами, так и встроенным веб-сервером PHP. Изначально он создавался как язык для персональных веб-страниц, следовательно, одной из идей его создания была простота в изучении и использовании. Многие преподаватели называют PHP лучшим языком программирования для новичка. Действительно, он позволит быстро начать писать программы и приложения, при этом видеть результат работы прямо в браузере, без использования компилятора. Также в нём просто и понятно, причём полноценно, а не в виде таблиц реализованы классы, и это позволяет изучать самую востребованную на рынке парадигму программирования — объектно-ориентированную. Практически на всех олимпиадах по программированию PHP входит в список языков, на которых можно выполнять задание.


Вторая правда — это то, что PHP непрерывно развивается. Всего пару -тройку лет назад появилась восьмая версия языка — и вот уже идут разговоры о выходе девятой. Причём это не «новичок» в мире языков программирования, а мощный сформировавшийся язык. Гигантское количество фреймворков и библиотек для него тоже говорит само за себя. Все они тоже непрерывно развиваются и совершенствуются.
PHP является узко специализированным языком. Практически всё, что на нём пишется, так или иначе связано с веб-разработкой. На нём практически никогда не пишут десктопных приложений. Такая возможность, впрочем, есть, но это не полноценное бинарное приложение, а лишь запуск кода PHP в определённой специальной среде. Например, возможно кому-то так будет удобно администрировать программу, работать с базой данных и одновременно осуществлять взаимодействие с сайтом компании, работающем на PHP. Ни для мобильных приложений, ни для программирования микроконтроллеров PHP, тем более, не используется. Конечно, можно писать на нём всё, что угодно, даже нейросети, но — не нужно. PHP не для этого.
PHP является интерпретируемым языком программирования. Программа, написанная на нём, может выполняться сразу, из текстового файла, и не требует дополнительной обработки. Тем не менее, существует и возможность компиляции в JIT-код, если где-то нужно повысить быстродействие программы. Интерпретатор PHP8.1 и выше работает достаточно быстро и позволяет реализовать обработку нескольких сотен и тысяч запросов от сайта в секунду, этого вполне достаточно для организации сайта фирмы или магазина даже без JIT-компиляции. О возможностях и быстродействии JIT-компилированных программ говорит, например, то, что HHVM, виртуальная машина, в которой исполняется код PHP и Hack, языка на его основе, лежит в основе работы социальной сети Фейсбук, запросы к которой отправляют миллиарды пользователей по всему миру.
На PHP работает большинство сайтов в Интернете. Несмотря на то, что существует и множество других языков для веб, основой для большинства сайтов продолжает оставаться PHP. На нём написаны Википедия, всевозможные CMS, Facebook, Twitter, Вконтакте и масса других проектов.
Последняя правда — это то, что PHP является языком программирования с открытым исходным кодом. Все базовые функции языка имеют открытый код и хорошо документированы, распространяется этот код под лицензией PHP, одобрена OSI. Однако из-за того, что на название языка при его использовании есть ограничения, GPL-совместимой она не является, и только по этой причине.

Как лучше изучать PHP

Совсем необязательно записываться на какие-то платные курсы. Хотя, конечно, помощь специалиста в изучении может быть бесценна. Если нет знакомства с программированием ранее, то рекомендуется вначале ознакомиться с базовым PHP. Это базовый синтаксис языка, то, как он работает с глобальным массивом, как берёт оттуда данные для обработки формы, cookies, query string, файлами, сессиями, базой данных и DOM. Этот базовый пакет знаний позволит без труда редактировать, например, шаблон WordPress и создать самому сайт для бизнеса, пусть и небольшой, для небольшого бизнеса. На изучение уйдёт от пары недель до пары месяцев, в зависимости от усердия.
Для тех, кто решил найти себя в программировании, далее рекомендуется изучить объектно-ориентированное программирование в PHP. Тут уже желательно использовать более серьёзный источник знаний типа курсов, так как для понимания всё-таки будет нужна помощь старшего опытного товарища. Впрочем, если вы эрудированны, сообразительны, можно пробовать изучать и самому.
После изучения классов и ООП очень важно приступить к самостоятельному написанию программ, чтобы привыкнуть думать в стиле ООП, писать программы в стиле ООП. Практика должна быть долгой. Существует мнение, что новичок должен написать на PHP не менее 10-15 тысяч строк самостоятельного осмысленного работающего кода, чтобы считаться джуном. Без этого нет смысла приступать к поиску работы или фриланс-заказов, например. Тут также стоит начать изучать дополнительные технологии, которые могут пригодиться программисту — docker, kubernetes, postgreSQL, MariaDB, работа с json и знание этого формата, отладка через Postman, знание UNIX, и конечно — GitHub! Без хорошего гита возрастом не менее года с ежедневными коммитами никто даже не будет рассматривать программиста на вакансию.
Итак, опыт в программировании получен, можно пробовать устроиться на работу. Если не получается — нужно продолжать обучение. Требования всё время растут, чем больше знаешь — тем больше шансов чего-то добиться. Стоит отточить своё знание стандартных классов и функций в PHP. Это следующий шаг после формирования ООП-мышления в программировании. Данное знание позволит писать программы быстро, делая их надёжными и безопасными. На овладение в совершенстве стандартными библиотеками в PHP может уйти до года.
После можно переходить к изучению фреймворков — специализированных сред разработки на PHP, которые предлагают дополнительные возможности. Какие выбрать — зависит от разработчика и того места работы, где он занят. Если до сих пор ещё не довелось найти работу — можно по дефолту рекомендовать изучение Laravel, на начало 2023 года это один из самых популярных фреймворков. Symphony и Yii являются далеко не единственными его альтернативами. Придётся при изучении специализированных фреймворков читать много документации на английском языке. К этому моменту программист уже должен в совершенстве понимать, как PHP работает с сетью, файлами, базой данных и входящим потоком данных от пользователя, знать основы работы в операционной системы Unix, в том числе и организацию работы с сетью. При изучении PHP данные знания почему-то получаются постепенно, сами собой, и хорошо закрепляются, так как используются постоянно.
Из литературы для изучения я лично рекомендую книгу Котерова и Симдзянова «PHP-8 в подлиннике». По качеству изложения она получилась у них чуть более сухой, сжатой, чем такая же книга по PHP-7, однако порядок изложения в ней знаний максимально приближен к реальным задачам программиста. К примеру, изучение ООП идёт сразу, а не где-то в середине курса. Изучать по книгам для седьмой версии языка, тем более для более ранних, не рекомендуется, так как в языке есть различия, и они будут мешать получению актуальных знаний — PHP непрерывно развивается. Очень рекомендуется пользоваться вторым источником знаний, например, в виде code.mu. Ещё один русскоязычный сайт среди многих, в котором есть и курс PHP, и большой объём практики, в том числе и задач по ООП, и материал для изучения автором поддерживается в актуальном состоянии. Надеюсь, такая тенденция сохранится. В целом же найти хороший русскоязычный курс по PHP достаточно легко, так как именно на просторах СНГ он популярен больше, чем где-либо. Да и преподавателя по этому языку — тоже.

Добавить комментарий