Я создал два класса
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
быть расширенным без включения.
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
Других решений пока нет …