Нужно ли включать суперклассы на php?

Я создал два класса

teste.php

<?php

namespace Projeto;

use Pai\classepai;
//include 'classepai.php';

class teste extends classePai
{
public function __construct()
{
echo 'classe teste<br>';
}
}

а также

classepai.php

<?php

namespace Pai;class classepai
{
public function __construct()
{
echo 'classe pai<br>';
}
}

он возвращает мне ошибку, если я не раскомментирую include 'classepai.php';

Тогда у меня есть этот класс от Laravel (PHP Framework)

<?php

namespace App\Http;

use Illuminate\Foundation\Http\Kernel as HttpKernel;

class Kernel extends HttpKernel
{...}

Мой вопрос как можно HttpKernel быть расширенным без включения.

0

Решение

HttpKernel требуется в composer.json и в коде это включено с помощью autoload.php, Вот почему вам не нужно включать HttpKernel вручную. Если вы хотите сделать то же самое на classeapi Вы должны добавить это в composer.json autoload,psr-4 раздел с использованием namespace и местоположение папки.

Пример:

{
"autoload": {
"psr-4": {
"App\\": "app/",
"Pai\\": "packages/pai/src",
}
}
}

Затем запустите команду composer dump-autoload и вы сможете использовать свой classeapi вот так: Pai\classeapi

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]