我最近开始使用laravel,所以我是初学者,现在我正在开发一个小项目,需要我使用短代码(比如wordpress中的短代码)。 所以我搜索了一下,发现了这个包:
https://packagist.org/packages/webwizo/laravel-shortcodes
我按照它的编写方式运行安装和使用,但是我收到错误:在提供程序中找不到类'App \ Providers \ Shortcode'我必须使用laravel make:provider命令,如包说明中指定的那样,以下是我的确切用法和安装代码。
将此添加到providers数组中:
null
将此添加到别名:
'Shortcode'=> Webwizo \简码\外墙\简码::类,
这是app / providers中我的ShortcodesServiceProvider的内容:
命名空间App \ Providers;
使用Illuminate \ Support \ ServiceProvider; 使用App \ Shortcodes \ JobsForm;
class ShortcodesServiceProvider扩展ServiceProvider { / **
/ **
我使用laravel 5.4这可能是一个问题。
该类显然存在,它给出了Shortcodes类找不到错误,因为我认为它在app / providers / ShortcodesServiceProvider文件中搜索它,显然它不在供应商文件中。
是否有一些我遗漏的东西我已经检查过并经过双重检查,我似乎无法让这件事工作。
考虑到它的别名定义正确吗?
我在视图中使用它:
/*
* shortcodes providers
*/
Webwizo\Shortcodes\ShortcodesServiceProvider::class,
App\Providers\ShortcodesServiceProvider::class,
感谢您花时间阅读本文,我们将非常感谢您的帮助。
如果您需要更多信息,我很乐意提供。
P.S。对不起英语不好,不是母语:P
答案 0 :(得分:1)
它在Shortcode
命名空间中搜索App\Providers;
,而不是在定义Facade的根命名空间中搜索。
您可以通过执行以下操作在App\Providers\ShortcodesServiceProvider.php
中解决此问题:
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use App\Shortcodes\JobsForm;
use Shortcode;
class ShortcodesServiceProvider extends ServiceProvider
{
或使用\Shortcode
/**
* Register the application services.
*
* @return void
*/
public function register()
{
\Shortcode::register('jobs', JobsForm::class);
}
我会推荐第一个选项。