Skip to content

Список тем для изучения PHP и Backend разработки

Notifications You must be signed in to change notification settings

paulmixxx/Roadmap-PHP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 

Repository files navigation

Roadmap-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

Junior Software Developer

  • Настройка рабочего окружения
    • 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
    • Миграции
    • Active Record
  • Управление проектами
    • Канбан
    • Scrum

About

Список тем для изучения PHP и Backend разработки

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published