- Learn PHP
- About this skill path
- Skills you’ll gain
- Syllabus
- Introduction to the Learn PHP Skill Path
- PHP Variables, Strings, and Numbers
- PHP Functions
- PHP Conditionals and Logic
- PHP Arrays and Loops
- PHP and HTML
- PHP Classes and Objects
- Hands-on learning
- Projects in this skill path
- World Traveler
- Mad Lib Functions
- The Hitchhiker’s Guide to PHP Math Functions
- Reviews from learners
- Основы PHP: изучение серверного языка в 2022 году
- PHP программирование с нуля
- HTTP
- Встроенные интерфейсы и классы
- Базы данных
- Фреймворки
- API
- Кэширование
- Фоновое выполнение
- Git
- Заключение
Learn PHP
Learn the fundamentals of PHP, one of the most popular languages of modern web development.
Includes PHP, PHP Basics, PHP and HTML, and more.
About this skill path
PHP is a widely used server-side scripting language that has become increasingly fast and powerful through the years. You can also use it on the front-end since PHP can be embedded right into HTML. These features make learning PHP a great option for any web developer. In this skill path, you’ll work through PHP fundamental programming concepts and gain the skills necessary to develop programs in PHP.
Skills you’ll gain
Syllabus
Introduction to the Learn PHP Skill Path
PHP Variables, Strings, and Numbers
PHP Functions
PHP Conditionals and Logic
PHP Arrays and Loops
PHP and HTML
PHP Classes and Objects
Hands-on learning
Don’t just watch or read about someone else coding — write your own code live in our online, interactive platform. You’ll even get AI-driven recommendations on what you need to review to help keep you on track.
Projects in this skill path
World Traveler
Mad Lib Functions
It’s time for you to start building your own functions in PHP. Creating reusable blocks of code is an extremely useful skill in any language. Get started practicing in PHP with this mad lib project!
The Hitchhiker’s Guide to PHP Math Functions
Explore the universe of PHP documentation and find the PHP functions you need for your journey. Applying them correctly will yield the answer to life, the universe, and everything.
Reviews from learners
The progress I have made since starting to use codecademy is immense! I can study for short periods or long periods at my own convenience — mostly late in the evenings.
I felt like I learned months in a week. I love how Codecademy uses learning by practice and gives great challenges to help the learner to understand a new concept and subject.
Brilliant learning experience. Very interactive. Literally a game changer if you’re learning on your own.
Основы PHP: изучение серверного языка в 2022 году
Как изучить PHP с нуля и стать бэкенд-разработчиком в 2022 году? Рассказываем с использованием дорожной карты по PHP:
PHP программирование с нуля
Синтаксис языка лежит в основе его изучения. Очень важно разобраться с типами данных, переменными, операторами, классами, функциями и другими составляющими.
Когда вы продвинетесь в базовом синтаксисе, переходите к более сложным темам. Сфокусируйтесь на том, что будете использовать большую часть своего времени. Сюда относится стандартная библиотека PHP, трейты, пул рабочих процессов и многое другое.
HTTP
PHP — это в первую очередь серверный язык программирования, и важно понимать принцип работы клиент-серверного протокола HTTP, который лежит в основе обмена данными в сети интернет. Грубо говоря, происходит обмен сообщений между веб-браузером и сервером по принципу запрос-ответ (request-response). Как правило, между клиентом и сервером находятся посредники, такие как модемы, маршрутизаторы и прочие сетевые узлы.
- метода (ознакомиться со всеми методами можно здесь);
- версии HTTP-протокола;
- пути к ресурсу.
Опциональными для запроса являются заголовок для отправки дополнительной информации и тело запроса, необходимое в том случае, если отправляются какие-то данные, как с операциями POST и PUT.
Для работы с HTTP используйте веб-сервер и почтовый прокси-сервер Nginx, REST, изучите принцип работы веб-сессий и «печенек».
Встроенные интерфейсы и классы
- Traversable — определяет, является ли класс обходимым с использованием foreach .
- Iterator — для внешних итераторов или объектов, которые могут повторять себя изнутри.
- IteratorAggregate — для создания внешнего итератора.
- Throwable — родительский интерфейс для объектов, которые выбрасываются с помощью throw .
- ArrayAccess — обеспечивает доступ к объектам в виде массивов.
- Serializable — для индивидуальной сериализации.
- Closure — класс для создания анонимных функций.
- Generator — полезны для создания больших коллекций для последующего перебора. Сравнение генераторов и итераторов.
- WeakReference — класс, который предоставляет способ доступа к объекту, при этом не влияя на количество ссылок на этот объект.
- WeakMap — коллекция, которая принимает в качестве ключей объекты.
- Stringable — обозначает класс, реализующий метод __toString() .
Базы данных
Сегодня существует множество инструментов для работы с базами данных. Однако есть несколько основных, которые лучше других подойдут бэкенд-разработчикам.
Для реляционных баз данных это PostgreSQL, а для NoSQL — MongoDB. PDO будет полезен для понимания того, как происходит взаимодействие между кодом на PHP и вашими данными, а ORM повысит эффективность и безопасность этого взаимодействия.
Фреймворки
Когда изучено множество инструментов, самое время объединить их в целостную систему. Чтобы не изобретать велосипед, обратите внимание на популярные фреймворки для разработки на PHP. В них вы найдете лучшие современные практики, а также выработаете привычку к созданию качественной архитектуры.
Для языка PHP существует два наиболее популярных варианта:
- Symfony — это свободный фреймворк, который чаще всего используется для разработки сложных веб-приложений. У Symfony продуманная архитектура и мощная функциональность, хотя при этом он также достаточно требователен. Работает только с PHP 5 и выше.
- Laravel — наиболее распространённый и популярный PHP-фреймворк с открытым исходным кодом. Используется для разработки с применением архитектурной модели MVC (Модель-Представление-Контроллер). Выпущен под лицензией MIT.
Но и это не всё. Изучение PHP с нуля можно дополнить такими инструментами, как Yii и Composer.
Первый основан на парадигме MVC. Позволяет кэшировать как отдельные фрагменты, так и целые страницы. Для работы с базами данных предусмотрены такие интерфейсы, как DAO и ActiveRecord.
API
Для работы с серверной частью веб-приложений необходимо освоить API как средство интеграции приложений для импорта данных, подключения сторонних сервисов и использования готовых решений в своём проекте.
В рамках разработки на PHP рекомендуется освоить JSON, REST (SOAP — опционально), получить навык работы с инструментами для тестирования API Postman, а также Swagger или API Blueprint для описания RESTful API.
Кэширование
Скорость ответа веб-приложения обусловлена не только серверами, но и качественным кодом. Иногда для его увеличения достаточно уменьшить количество запросов к базе данных или запомнить результат «тяжеловесных» вычислений.
И здесь приходят на помощь механизмы кэширования. Вы найдёте интерфейсы для их организации в стандартах PSR-6 и PSR-16. Также следует научиться использовать одно из хранилищ данных типа «ключ‑значение» — Redis либо Memcached.
Фоновое выполнение
Другой распространённый метод ускорения веб-приложения — это выполнение обработки в фоновом режиме (background execution). Вам пригодятся:
- Cron — программа, что выполняет задания по расписанию, и Crontab — текстовый файл со списком команд, которые должны выполняться в заданное время.
- RabbitMQ — брокер сообщений, принимающий, хранящий и пересылающий сообщения своим клиентам.
- Kafka — высокопроизводительный распределённый брокер сообщений с открытым исходным кодом.
Git
Освойте работу с системой контроля версий Git и выберите удобный сервис для хостинга проектов. Вы, вероятно, будете использовать его ежедневно, независимо от выбранного вами языка программирования.
Если вы впервые сталкиваетесь с Git, то в двух словах — это удобный инструмент для работы над проектом в команде, который позволяет сохранять состояния кода на разных этапах его «жизни».
Заключение
Чтобы освоить PHP разработку с нуля в 2022 году, вы должны понять принцип работы HTTP, знать и использовать основные интерфейсы и фреймворки, получить навык работы с такими СУБД, как PostgreSQL и MongoDB, научиться строить REST JSON API, знать и работать с инструментами кеширования, а также фонового выполнения задач. Хорошим плюсом станет уверенное использование любого из сервисов для хостинга проектов.