Ниже предлагаю чек-лист знаний для старта работы на должности “Junior PHP разработчик” или просто Джуниор Пэхапэ.
Сетевые технологии
- Стек протоколов TCP/IP
- Протоколы HTTP, FTP
- Простым языком о HTTP
- HTTP messages
- Работе с протоколом HTTP
- TCP/IP
- DNS
Клиент-серверная архитектура
- Общие положения об организации архитектуры приложений
- Архитектура Web-приложений
Сервер Nginx
Клиентское окружение
- HTML
- CSS:
– Базовый CSS
– Cascading Style Sheets, level 1
– Cascading Style Sheets Level 2 Revision 1
– CSS Snapshot 2018 - Bootstrap
- JavaScript:
– Современный учебник JavaScript
– The Progressive JavaScript Framework
– jQuery
– Промисы
Объектно-ориентированное программирование (ООП)
- Назначение и цели ОО подхода (в сравнении с процедурным)
- Основные принципы ООП, ООА и ООД. Мэтт Зандстра “PHP. Объекты, шаблоны и методики программирования”
- Шаблон Model View Controller (MVC)
- Базовые знания:
– Основы
– Свойства
– Константы классов
– Область видимости
– Абстрактные классы
– Наследование
– Интерфейсы объектов
– Полиморфизм
PHP
- Среда разработки (IDE PHPStorm)
- Основы языка PHP:
– Типы
– Переменные
– Константы
– Выражения
– Операторы
– Управляющие конструкции
– Пространства имен
– Функции
– Подключение файлов
– Работа с формами
– Приведение типов
– Побитовые операции
– Массивы
– Строки
– Файлы и работа с файловой системой
– Работа с базами данных / Как работать с PDO
– Управление сессиями / PHP для начинающих. / Cookie / Функция setcookie - Функции работы со строками
- Функции работы с массивами
- Работа с session и cookies
- Операции работы с файловой системой и файлами
- Работа с базами данных:
– Базовый синтаксис
– Типы данных
– Join - Сериализация данных
- Функции работы со временем
- Обработка XML
- Обработка JSON
- Регулярные выражения
- Работа с изображениями
- Работа с CLI
- Работа со встроенным web-сервером PHP
- ООП в PHP
- Применение шаблонов проектирования в PHP
- Изменения в новых версиях PHP
- Стандарты кодирования PSR
- Стандарты PSR-12: PSR
- Стандарты PSR-0 и PSR-4 и автоматическое подключение классов
- Стандарт логирования PSR-3
- Стандарт по реализации HTTP messages
- Обработка ошибок в PHP
СУБД
- Основы SQL. Уметь создавать запросы для эффективного манипулирования данными
- Установка и настройка MySQL. Получить необходимые знания для установки и настройки СУБД MySQL
Symfony / Laravel
- Основные понятия и архитектура Symfony
- Установка
- Компоненты
- Маршрутизация и контроллеры
- База данных
- Формы
- качестве альтернативы (или дополнительно) рекомендуется ознакомиться с документацией фреймворка Laravel
ОПЕРАЦИОННАЯ СИСТЕМА LINUX
- Отличие файловых систем Linux и Windows
- Права доступа в системе Linux
- Работа с командной строкой
- Основы работы в редакторе vi/vim/nano
Git (Система контроля версий)
- Понять назначение подобных систем и получить базовые знания для работы с ними
- Что такое Git
- Git (главы 1-3)
- Понять принцип работы распределенных систем и получить базовые знания для работы с Git и сервисом GitHub
Книги и статьи
- PHP Manual
- “PHP 7. В подлиннике” Игорь Симдянов, Дмитрий Котеров
- Мэтт Зандстра “PHP. Объекты, шаблоны и методики программирования”
- PHP The Right Way
- Менеджер зависимостей composer
- Разделение логики и отображения
- Понять назначение подобных систем и получить базовые знания для работы с ними