Берем первую тему, которую не знаем/знаем плохо, изучаем теоретическую базу и обязательно закрепляем практикой. От начинающих разработчиков мало кто ждет глубоких знаний, поэтому не стоит слишком сильно закапываться в одну тему. Если застряли на какой-то теме, попробуйте поискать объяснение в другом источнике информации. Если тема слишком тяжело идет, возьмите следующую, к сложной вернитесь позже.
- Youtube
- php.net
- Habr
- Stack Overflow
- ChatGPT
- https://github.com/paulmixxx/Awesome-PHP
Вы можете:
- настроить свое рабочее окружение (желательно на linux/macos)
- умеете устанавливать/настраивать расширения PHP
- версионировать код в git. Знаете gitflow
- написать MVP простого приложения (блог/бот/api) на любом из PHP фреймворков (на ваш выбор Laravel/Yii2/Symfony/Slim/Mezzio) в ООП парадигме, с хранением данных в РСУБД (Mysql/Postgres)
- выбрать хостинг VPS
- купить и настроить DNS
- выложить ваше приложение на хостинг
- настроить SSL Let's encrypt
- настроить SMPT для приложения, для отправки уведомлений
- настроить бекапирование
- перенести приложение с одного хостинга на другой
- умеете пользоваться composer
- понимаете и используете PSR-3, PSR-4, PSR-7, PSR-11, PSR-12, PSR-14
- Настройка рабочего окружения
- Windows (OpenServer/WAMP/XAMPP)
- Macos (MAMP)
- Linux (LAMP) (рекомендуемый вариант)
- PHP
- Типы данных
- Условные операторы и булева алгебра
- Строки и массивы
- Циклы
- Функции: создание и использование
- Рекурсия, callback и анонимные функции
- PHP ini
- Подключение расширений/настройка
- SAPI
- Apache mod
- Apache fcgi
- CLI
- Built-in Server
- PHP-FPM + nginx
- ООП
- Классы, методы и объекты
- Наследование и абстрактные классы
- Интерфейсы и полиморфизм
- Модификаторы доступа, геттеры и сеттеры
- Магические методы
- Обработка ошибок, Exceptions и логи
- Куки, Сессии
- Работа с базами данных в PHP
- mysqli
- PDO
- ORM
- Работа с файлами
- Работа с сетью
- Обработка GET- и POST-запросов, header, куки и сессии
- Отправка запросов
- Работа с временем
- date
- DateTime
- DateInterval
- DatePeriod
- Регулярные выражения
- Standard PHP Library
- Компьютерные сети (стек протоколов TCP/IP)
- IP
- TCP/UDP
- HTTP
- SSL/TLS
- DNS
- VPN
- Proxy
- SSH
- Linux
- Общее представление
- Популярные команды
- Пакетные менеджеры
- Файлы
- Пользователи
- Права доступа
- Мониторинг и управление процессами
- Фоновые процессы
- Cron
- Доступ по ssh
- Сервер Apache/Nginx
- Установка
- Document Root
- URI запроса
- Виртуальные хосты
- rewrite module
- "Раздача статики"
- Сжатие
- Настройка SSL сертификатов
- FastCGI модуль
- Комбинация apache + nginx
- Только nginx
- LAMP stack
- LEMP stack
- БД
- Нормальные формы
- Уметь спроектировать простую структуру
- SQL
- DDL
- DML
- Простые запросы
- Последовательность выполнения SELECT
- EXPLAIN
- MySQL
- Установка/настройка
- Импорт/экспорт базы
- ACID
- Архитектура
- Разделение приложения на файлы
- Front Controller и Router
- MVC
- ADR
- Паттерны
- Банда четырех
- DRY
- KISS
- SOLID
- git
- Github/Gitlab/Bitbucket
- Навыки
- Настроить SSH доступ по ключам
- Настроить виртуальный хостинг
- Настроить VPS
- Настройка DNS
- Уметь развернуть исходники сайта
- Перенос сайта с одного сервера на другой
- Настройка SMTP
- SSL/Let’s Encrypt
- Troubleshooting
- ping
- traceroute
- dig/nslookup
- curl
- tcpdump
- strace
- PSR
- Xdebug
- Composer
- PHPStorm
- Hot keys
- Tips and Tricks
- Фреймворк Laravel
- Роутинг
- Контроллеры
- Request/Response (PSR-7)
- Validation
- DI/DI Container
- Провайдеры
- Middleware
- Миграции
- Модели Eloquent ORM
- View/Templates
- Events
- Console
- Управление проектами
- Канбан
- Scrum