我确信我在这里做了一些愚蠢的事情,但无法得到什么。我在
AssetHelpers.php
中定义了一个自定义类App/Helpers/
。现在我想在 App/Providers/AppServiceProvider.php
中从 boot 方法使用它。但我得到未定义的常量“App\Providers\AssetHelpers”。所以我想这在某种程度上尊重了主命名空间,好吧,但是,我如何在这里使用我的类?
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Eloquent\Model;
use \App\Helpers\AssetHelpers;
class AppServiceProvider extends ServiceProvider
{
public function register(): void
{
//
}
public function boot(): void
{
dd(AssetHelpers); // Gives error Undefined constant "App\Providers\AssetHelpers"
}
}
不确定您是从哪个编程背景开始接触 PHP 的。或者最好在 youtube 上学习一些 BasicPHP 课程。
use 语句中的第一个反斜杠不是必需的。
use App\Helpers\AssetHelpers;
dd()
是自定义的 var_dump()
和 die()
来自 Symfony 甚至 Laravel?不确定这里的 boot()
方法是什么。
您可以创建 AssetHelpers 的新实例,例如。
public function boot(): void
{
$assetHelpers = new AssetHelpers();
$assetHelpers->nameOfYourMethodInAssetHelpersClass();
}
或者您可以在构造函数中传递它,前提是您使用的框架提供了一些依赖注入。
public function __construct(private AssetHelpers $assetHelpers) {}
public function boot()
{
$this->assetHelpers->nameOfYourMethodInAssetHelpersClass();
}