НЕ ОБЯЗАТЕЛЬНОДЛЯ НОВИЧКОВ
Разработчику
Архитектору
Загрузка вопросов…
Чек-лист самопроверки
- Что такое PHP и для каких задач он предназначен?
- Как PHP взаимодействует с веб-сервером (Apache, Nginx)?
- Что такое SAPI и какие интерфейсы выполнения существуют (CLI, FPM, Apache module)?
- Как происходит обработка PHP-скрипта от запроса до ответа?
- Где и как задаётся конфигурация PHP (php.ini, .htaccess, ini_set)?
- Какие есть способы комментирования кода?
- Как объявляются переменные и какие соглашения по именованию приняты?
- Какие примитивные типы данных поддерживаются в PHP?
- В чём разница между
== и ===?
- Что такое "ложные" (
falsy) значения и какие они бывают?
- Как работает автоматическое преобразование типов?
- Какие есть составные типы (
array, object, callable, iterable)?
- Что такое
null и как он обрабатывается?
- Как работают условные конструкции (
if, switch, тернарный оператор)?
- Какие циклы поддерживаются (
for, foreach, while, do-while)?
- Что делают
break и continue?
- Как объявляются и вызываются функции?
- Что такое переменное количество аргументов (
...$args)?
- Как работают анонимные функции и замыкания?
- Что такое области видимости переменных и ключевое слово
global?
- Что такое суперглобальные массивы (
$_GET, $_POST, $_SESSION, $_SERVER и др.)?
- Как работают сессии и куки?
- Как обрабатывать загрузку файлов через форму? См. Загрузка файлов и валидация в PHP —
$_FILES, MIME, extensions и mimes в Laravel.
- Что такое автозагрузка классов и как она реализуется?
- Что такое Composer и зачем он нужен?
- Как работают пространства имён (
namespace, use)? См. статью 157.
- Что такое класс, свойство, метод, конструктор?
- Как работают модификаторы доступа (
public, private, protected)?
- Что такое статические методы и свойства?
- Как работает наследование и ключевое слово
parent?
- Что такое абстрактные классы и интерфейсы?
- Как реализуется полиморфизм в PHP?
- Что такое трейты (
trait) и зачем они нужны?
- Как работают магические методы (
__construct, __get, __call, __toString и др.)?
- Что такое типизация в PHP (скалярные типы, возвращаемые типы, строгий режим)?
- Что такое union types и nullable types (через
| и ?)?
- Как обрабатываются исключения (
try/catch/finally)? См. Обработка исключений в прикладном коде PHP и Иерархия исключений в PHP.
- Что такое пользовательские исключения?
- Как работает работа с файлами (
fopen, file_get_contents, fwrite)?
- Как сериализовать и десериализовать данные (
json_encode, serialize)?
- Как подключиться к базе данных (PDO, MySQLi)? См. PDO в PHP — подключение и безопасные запросы.
- Что такое подготовленные выражения и зачем они нужны?
- Как предотвратить SQL-инъекции и XSS?
- Что такое атрибуты в PHP 8.0 и как их использовать? См. Современный PHP 8 — enum, readonly и атрибуты.
- Что такое стрелочные функции и где они применяются?
- Как работает оператор nullsafe (
?->)?
- Что такое
match и чем он отличается от switch?
- Как использовать именованные аргументы при вызове функций?
- Как писать и запускать unit-тесты (PHPUnit, Pest)?
- Какие инструменты используются для анализа и форматирования кода (PHPStan, Psalm, PHP_CodeSniffer, CS Fixer)?
- Что такое
enum и readonly в PHP 8.1+? См. Современный PHP 8 — enum, readonly и атрибуты.
- Как связать форму и INSERT в БД без фреймворка? См. От HTML-формы до записи в базу данных на PHP.
Laravel
- Что даёт Laravel? (Первая программа на Laravel)
- Eloquent и миграции?
- Livewire и
wire:model? (Laravel и Livewire)
- Filament — когда? (Laravel Filament — админ-панель)
- Sanctum — зачем? (Laravel API с Sanctum)