我正在尝试在我的laravel应用程序中使用https://github.com/sebdesign/laravel-state-machine。但是软件包没有正确安装。我的控制器认不出来。首先,我将以下内容添加到我的composer.json中
"repositories": [
{
"type": "vcs",
"url": "https://github.com/sebdesign/state-machine"
}
]然后我跑了
composer require sebdesign/laravel-state-machine:1.0然后,我在config/app.php中添加了以下内容
'providers' => [
Sebdesign\SM\ServiceProvider::class,
],
'aliases' => [
'StateMachine' => Sebdesign\SM\Facade::class,
],之后,我在config/state-machine.php中发布配置文件。
php artisan vendor:publish --provider="Sebdesign\SM\ServiceProvider"就是这样。现在我试着在我的控制器中使用它:
// Using the facade
$stateMachine = StateMachine::get($article, 'simple');但StateMachine没有得到认可。我得到了
Undefined type 'App\Api\V1\Controllers\Resource\StateMachine'我是不是漏掉了什么?我应该在控制器的开头添加一个use语句吗?
编辑:Laravel5.1谢谢
发布于 2020-04-20 07:41:48
如果使用的是最新版本和自动发现工具,则不需要使用以下行。
从5.5版开始,Laravel使用包自动发现,所以您不需要手动添加ServiceProvider和facade。如果不使用自动发现,或者使用旧版本,则在config/app.php中添加服务提供者和外观。
<?php
'providers' => [
Sebdesign\SM\ServiceProvider::class,
],
'aliases' => [
'StateMachine' => Sebdesign\SM\Facade::class,
],在composer要求之后,您需要直接运行这个命令。
php artisan vendor:publish --provider="Sebdesign\SM\ServiceProvider"您需要安装兼容版本的软件包,根据您的拉拉版本。
composer require sebdesign/laravel-state-machine:^1.0然后您需要使用它,如下所示:
use \SM\Factory\Factory as SMFactory;https://stackoverflow.com/questions/61317302
复制相似问题