- Программирование рнр с нуля
- 1. Синтаксис
- XAMPP
- 14. Собираем страничку
- Литература
- Шпаргалки
- YouTube-каналы и курсы
- PHP в «Библиотеке Программиста»
- Итог
- Основы PHP: изучение серверного языка в 2022 году
- PHP программирование с нуля
- HTTP
- Встроенные интерфейсы и классы
- Базы данных
- Фреймворки
- API
- Кэширование
- Фоновое выполнение
- Git
- Заключение
Программирование рнр с нуля
1. Синтаксис
Код в PHP заключается в открывающий теги. Согласно стандарту кодирования PSR-12, закрывающий тег должен быть опущен в файлах, содержащих только код PHP . В конце строки ставят разделитель строк – точку с запятой ; . Если забыть поставить разделитель, то следующая строка кода соединится с предыдущей и интерпретатор PHP выдаст ошибку.
Выведем на экран строку Hello World (заключена в кавычки) с помощью команды echo :
Оператор if выполняет код, если выполняется условие. В противном случае выполняется код после else, который переводится, как «иначе», «в другом случае».
Оператор while выполняет код до тех пор, пока значение условия не станет ложным.
Когда нам известно количество итераций, вместо цикла while лучше использовать цикл for .
Массивы – упорядоченная коллекция элементов с доступом по индексу или ключу. Индексный массив создается двумя способами:
Если мы получили ошибку 404, значит сервер запущен.
XAMPP
Скачаем и установим XAMPP . В папке C:\xampp\htdocs\ создадим папку нашей странички page . Запустим веб-сервер Apache, кликнув по кнопке Start . Узнаем версию PHP, введя в консоли (Shell) команду php -v .
Проверим, запущен ли сервер, перейдя по адресу http://localhost/ . Если появилось приветственное сообщение, значит сервер запущен.
14. Собираем страничку
Теперь создадим несколько PHP-файлов, из которых соберем страничку. Перейдем в папку page и создадим четыре файла: index.php , header.php , body.php , footer.php .
Структура простого HTML-документа выглядит следующим образом:
Литература
- Робин Никсон. Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5;
- Котеров, Симдянов. PHP 7;
- Веллинг, Томсон. Разработка веб-приложений с помощью PHP и MySQL;
Шпаргалки
YouTube-каналы и курсы
Бесплатные курсы на русском языке:
- Основы php с нуля. Новейший курс 2020 – двадцать четыре урока от основ до регулярных выражений и функций;
- Базовый курс по PHP 7 – узнаете про базовые понятия, GET-параметры, методы, функции и ООП;
- Учим PHP за 1 Час – основы за полтора часа;
- Изучение PHP для начинающих – научитесь работать с массивами, подключать файлы, обрабатывать формы, работать с куки и базой данных MySQL;
- Уроки PHP 7 – много уроков по ООП;
- PHP для начинающих – курс на Stepik для начинающих разработчиков, не требует специальных знаний;
- PHP – первое знакомство – азы программирования на PHP (Stepik).
PHP в «Библиотеке Программиста»
- подписывайтесь на тег PHP , чтобы получать уведомления о новых статьях;
- телеграм-канал «Библиотека пхпшника»;
- книги по программированию в нашем телеграм-канале «Книги для программистов».
Итог
- вы познакомились с синтаксисом PHP и типами данных;
- узнали, как работают условные операторы и циклы;
- запустили веб-сервер в Ubuntu и Windows;
- собрали страничку HTML из файлов PHP.
Основы 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, знать и работать с инструментами кеширования, а также фонового выполнения задач. Хорошим плюсом станет уверенное использование любого из сервисов для хостинга проектов.