Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
<?php
$map = ['App\\' => 'src/'];
$class = 'App\\Http\\Kernel';
foreach ($map as $prefix => $dir) {
if (str_starts_with($class, $prefix)) {
$rest = substr($class, strlen($prefix));
echo $dir, str_replace('\\', '/', $rest), '.php', "\n";
}
}src/Http/Kernel.php
- Ждать, что префикс пространства имён останется в пути: PSR-4 заменяет префикс
App\его папкойsrc/, поэтомуApp\Http\Kernelлежит вsrc/Http/Kernel.php. - Читать
'\\'как две обратные косые черты: в одинарных кавычках\\— одна обратная косая черта, поэтомуstr_replace('\\', '/', …)меняет каждый разделитель на/.
- Какая команда пересобирает автозагрузчик Composer после нового префикса в
composer.json? - В каком файле должен лежать класс
App\Models\Userпри той же карте?