更新时间:2023-02-25 20:41:00
结果,我最终创建了自己的服务,如下所示:
As a result I ended up creating my own service as follow:
namespace App\Services;
class ComposerService {
public function getLoadedPackages()
{
$folders = scandir(base_path('packages/author'));
unset($folders[0]);
unset($folders[1]);
unset($folders[2]);
return $folders;
}
}
这将读出我创建自己的软件包的正确文件夹
This will read out the correct folder I create my own packages is
之后,我更新了AppServiceProvider
After that I updated the AppServiceProvider
在启动功能中,我做了以下
in the boot function I did the following
/** @var \App\Services\ComposerService $compiler */
$compiler = new ComposerService();
$packages = $compiler->getLoadedPackages();
$compiled = '';
foreach($packages as $package)
{
$compiled .= view('prefix-'.$package.'::cp.components.nav')->render();
}
View::share('main_nav', $compiled);
现在我可以在刀片中访问main_nav并使用它了
Now I can access main_nav in my blade and use it like
{!! $main_nav !!}
现在它会打印出我对每个软件包的所有导航视图.
It now prints out all my nav views that I have for each package.