Laravel package/service 添加供应商
Laravel package/service provider addition
我正在尝试在我的 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 语句吗?
编辑:Laravel 5.1
谢谢
如果您使用的是最新版本和自动发现工具,则无需使用以下行。
Since version 5.5, Laravel uses package auto-discovery, so you don't
need to manually add the ServiceProvider and the facade. If you don't
use auto-discovery or you are using an older version, add the service
provider and the facade in config/app.php.
<?php
'providers' => [
Sebdesign\SM\ServiceProvider::class,
],
'aliases' => [
'StateMachine' => Sebdesign\SM\Facade::class,
],
composer require 后需要直接运行这个命令
php artisan vendor:publish --provider="Sebdesign\SM\ServiceProvider"
您需要根据您的 laravel 版本安装软件包的兼容版本。
composer require sebdesign/laravel-state-machine:^1.0
那么你需要如下使用它:
use \SM\Factory\Factory as SMFactory;
我正在尝试在我的 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 语句吗?
编辑:Laravel 5.1 谢谢
如果您使用的是最新版本和自动发现工具,则无需使用以下行。
Since version 5.5, Laravel uses package auto-discovery, so you don't need to manually add the ServiceProvider and the facade. If you don't use auto-discovery or you are using an older version, add the service provider and the facade in config/app.php.
<?php
'providers' => [
Sebdesign\SM\ServiceProvider::class,
],
'aliases' => [
'StateMachine' => Sebdesign\SM\Facade::class,
],
composer require 后需要直接运行这个命令
php artisan vendor:publish --provider="Sebdesign\SM\ServiceProvider"
您需要根据您的 laravel 版本安装软件包的兼容版本。
composer require sebdesign/laravel-state-machine:^1.0
那么你需要如下使用它:
use \SM\Factory\Factory as SMFactory;