Я хотел бы запустить 2 приложения Laravel 8. Оба должны иметь свои собственные пакеты, провайдеры, контроллеры и кеш, но команды, модели, исключения, .env и Config должны использовать одно и то же. У меня есть следующая структура:
/main/ <- Laravel Main Package with Models, etc
/sub/ <- 2nd Laravel Package
/.env
composer.json вспомогательного приложения:
"autoload": {
"psr-4": {
"App\\Console\\": "./../main/app/Console/",
"App\\Exceptions\\": "./../main/app/Exceptions/",
"App\\Http\\": "app/Http/",
"App\\Models\\": "./../main/app/Models/",
"App\\Providers\\": "app/Providers/"
}
},
Мой бутстрап\app.php:
//...
if (!class_exists('Application')) {
class Application extends OriginApplication
{
/**
* Get the path to the application configuration files.
*
* @param string $path Optionally, a path to append to the config path
* @return string
*/
public function configPath($path = '')
{
return $this->basePath.DIRECTORY_SEPARATOR.'../main/config'.($path ? DIRECTORY_SEPARATOR.$path : $path);
}
}
}
//...
$app->useEnvironmentPath(
dirname(__DIR__, 2)
);
Работает тоже пока что .env берется правильно, но с классами из основного не грузятся, приходит Undefined namespace 'Console'
и Unable to detect application namespace
. Кто-нибудь знает, как мне лучше всего реализовать свой план?
Unable to detect application namespace
. @NicoHaase ` App\\Console\\: ./../main/app/Console/, App\\Exceptions\\: ./../main/app/Exceptions/, App\\Models\\: ./ ../главное/приложение/Модели/, ` - person Norman Huth   schedule 02.03.2021