PHP Roadmap
Alex GilevPHP
Главная область применения PHP – написание скриптов, работающих на стороне сервера; таким образом, PHP способен выполнять все то, что выполняет любая другая программа CGI, например, обрабатывать данные форм, генерировать динамические страницы или отсылать и принимать cookies.

Полезные ссылки:
- Видеокурс: LaravelCreative;
- Видеокурс: Bro Proger;
- Видеокурс: Андрей Андриевский;
- Видеокурс PHP8+: DarkProger ;
- Видеокурс PHP8+: Михаил Русаков;
- Онлайн-учебник: Дмитрий Трепачёв;
- Учебный тренажер: CodeBasic;
- Документация по языку: Документация;
- Тренировочные упражнения по языку: w3;
- Мини-сборник задач: Сборник;
- Задачки: CodeWars.
- ООП и MVC: Дмитрий Трепачёв;
- ООП интенсив: Дмитрий Елисеев;
HTML & CSS
HTML (HyperText Markup Language – «язык гипертекстовой разметки») – стандартизированный язык гипертекстовой разметки документов для просмотра веб-страниц в браузере. Веб-браузеры получают HTML документ от сервера по протоколам HTTP/HTTPS или открывают с локального диска, далее интерпретируют код в интерфейс, который будет отображаться на экране монитора.
CSS (Cascading Style Sheets – «каскадные таблицы стилей») – формальный язык декорирования и описания внешнего вида документа (веб-страницы), написанного с использованием языка разметки (чаще всего HTML или XHTML). Также может применяться к любым XML-документам, например, к SVG или XUL.
Полезные ссылки:
- HTML;
- CSS;
- Видеокурс: С нуля до первого сверстанного сайта;
- Учебный тренажер: CodeBasic HTML;
- Учебный тренажер: CodeBasic CSS;
Базы данных
Реляционные базы данных
Реляционная база данных — это тип базы данных, которая хранит и предоставляет доступ к данным, связанным друг с другом. Реляционные базы данных хранят данные в виде набора таблиц. Связи между таблицами определяются с помощью внешних ключей. Внешний ключ — это уникальная ссылка из одной строки на другую строку в этой же или чаще всего другой таблице.

Полезные ссылки:
- Что такое реляционная база данных?
- Видеокурс: LaravelCreative;
- PostgreSQL site;
- MySQL site;
- MariaDB site.
Настройка окружения (установка Openserver)
Openserver, ospanel, mamp или любой другой вариант, для локального запуска веб сервера с вашими проектами.
- Инструкция: Установка openserver;
GIT
Git — это бесплатная распределенная система контроля версиями с открытым исходным кодом, предназначенная для быстрой и эффективной работы с любыми проектами, от небольших до очень крупных.
Сервисы для хранения репозиториев
Работая в команде, вам часто бывает необходим отдельный удаленный сервер для размещения вашего кода, чтобы другие члены могли получить к нему доступ, добавлять свои собственные ветки и создавать или просматривать пул-реквесты. Эти сервисы часто включают в себя механизмы для отслеживания ошибок, ревью кода и функционал для непрерывной интеграции. Наиболее популярными вариантами являются: GitHub, GitLab, BitBucket и AWS CodeCommit.
Полезные ссылки:
Видеокурс: LaravelCreative;
Учебный тренажер: Hexlet.
JavaScript - Основы
JavaScript — это язык, программы на котором можно выполнять в разных средах. В нашем случае речь идёт о браузерах и о серверной платформе Node.js. Если до сих пор вы не написали ни строчки кода на JS и читаете этот текст в браузере, на настольном компьютере, это значит, что вы буквально в считанных секундах от своей первой JavaScript-программы.
- Учебный тренажер: CodeBasic JS;
- Видеокурс: JavaScript Basic;
- Онлайн-учебник: Full JS
Composer
Composer – это пакетный менеджер уровня приложений для языка программирования PHP, который предоставляет средства по управлению зависимостями в PHP-приложении. Composer разработали и продолжают поддерживать два программиста Nils Adermann и Jordi Boggiano. Они начали разрабатывать Composer в апреле 2011, а первый релиз состоялся 1 марта 2012. Идея создания пакетных менеджеров уровня приложений не нова и его авторы вдохновлялись уже существовавшими на тот момент времени npm для Node.js и bundler для Ruby.
Composer работает через интерфейс командной строки и устанавливает зависимости (например библиотеки) для приложения. Он также позволяет пользователям устанавливать PHP-приложения, которые доступны на packagist.org, который является его основным репозиторием, где содержатся все доступные пакеты.
Полезные ссылки:
- Документация: getcomposer.org;
- Видео-инструкция по установке: Инструкция.
Веб-фреймворк
Веб-фреймворк – фреймворк, предназначенный для создания динамических веб-сайтов, сетевых приложений, сервисов или ресурсов. Он упрощает разработку и избавляет от необходимости написания рутинного кода. Многие фреймворки упрощают доступ к базам данных, разработку интерфейса, и также уменьшают дублирование кода. Большая часть фреймворков веб-приложений реализует шаблон проектирования Model-View-Controller (MVC). Однако, также могут использоваться и другие шаблоны, например, Model-View-Presenter или Model-View-ViewModel.

Laravel
Laravel – бесплатный веб-фреймворк с открытым кодом, предназначенный для разработки с использованием архитектурной модели MVC. Он выпущен под лицензией MIT. Исходный код проекта размещается на GitHub. Laravel был создан Taylor Otwell как более функциональная альтернатива CodeIgniter, который не предусматривал различные дополнительные функции.
Полезные ссылки:
- Laravel site;
- Laravel site RU;
- Видеокурс: LaravelCreative;
- Онлайн-учебник: Дмитрий Трепачёв;
- Курс Laravel: Дмитрий Елисеев;
- Курс Laravel: OneCode;
Изучаем API
REST
REST, Representational State Transfer или «передача репрезентативного состояния» — это архитектурный стиль, определяющий стандарты между компьютерными системами в Интернете, что упрощает взаимодействие таких систем друг с другом.
JSON APIs
JSON или JavaScript Object Notation — это формат кодирования, разработанный для устранения необходимости в специальном коде для каждого приложения, чтобы связываться с серверами, которые взаимодействуют определенным образом. JSON API модуль предоставляет реализацию для хранилищ и структур данных.

Полезные ссылки:
- Representational State Transfer (REST);
- Википедия;
- What is REST?;
- What is a REST API?;
- Видеоурок: Создание REST Api;
- Postman: Сайт;
- Postman: Видеоурок.
Дополнительные полезные навыки:
Docker
Docker — это платформа для работы с контейнерными приложениями. Среди его функций — фоновый системный процесс и клиент для управления контейнерами и взаимодействия с ними, реестры для хранения образов и приложение для настольного ПК, объединяющее все эти функции.
Полезные ссылки:
- Docker — Википедия;
- Docker Documentation;
- Docker Tutorial;
- Видеокурс: Docker в целом и Docker для Laravel
Кэширование
Кэширование – это процесс хранения часто используемых данных во временном хранилище, называемом кешем. Цель кэширования — повысить производительность приложений и системы за счет сокращения времени, необходимого для доступа к данным. При запросе данных, хранящихся в кеше, система может извлечь данные из кеша вместо того, чтобы извлекать их из исходного источника, что может быть медленнее
Redis
- Redis Википедия;
- Видеокурс: Redis базовый курс.
32 шаблона проектирования с точки зрения PHP
- Видеокурс: Шаблоны проектирования.
SOLID в PHP
Плейлист о SOLID в PHP: SOLID в PHP
Практика
Обязательно начиная учебный проект создавайте гит репозиторий и делайте коммиты после каждого сеанса работы над проектом, это поможет сформитьвать блок реализованных проектов и добавляет мотивации двигаться дальше.
#1 Создание формы регистрации и авторизации
- Видеоурок: Инструкция вариант 1;
- Видеоурок: Инструкция вариант 2;
- Видеоурок: Веб-сайт с нуля (php, MySQL, JS, CSS и HTML);
#2 Работа с фреймворком Laravel
Видеокурс: LaravelCreative Создание блога;
Примеры тестовых заданий:
Нативный PHP:
2. Тестовое 2
3. Тестовое 3
4. Тестовое 4
Laravel:
Битрикс:
p.s. Благодарность @redlse за содействие в создании!
Ссылка на ТГ группу джунов: Сообщество