Laravel webwizo 简码包 Shortcodes 类未找到

Posted

技术标签:

【中文标题】Laravel webwizo 简码包 Shortcodes 类未找到【英文标题】:Laravel webwizo shortcodes package Shortcodes class not found 【发布时间】:2017-09-10 16:32:41 【问题描述】:

我最近开始使用 laravel,所以我是一个初学者,现在我正在做一个需要我使用简码的小项目(比如 wordpress 中的简码)。 于是我搜索了一下,发现了这个包:

https://packagist.org/packages/webwizo/laravel-shortcodes

我按照它的编写方式运行了安装和使用,但我得到了错误:在提供程序中找不到类“App\Providers\Shortcode”我必须使用包说明中指定的 laravel make:provider 命令,下面是我的具体用法和安装代码。

    将此添加到提供程序数组中:

     /*
     * shortcodes providers
     */
    Webwizo\Shortcodes\ShortcodesServiceProvider::class,
    App\Providers\ShortcodesServiceProvider::class,
    

    将此添加到别名中:

    'Shortcode' => Webwizo\Shortcodes\Facades\Shortcode::class,

    这是我在 app/providers 中的 ShortcodesServiceProvider 的内容:

    命名空间 App\Providers;

    使用 Illuminate\Support\ServiceProvider; 使用 App\Shortcodes\JobsForm;

    类 ShortcodesServiceProvider 扩展了 ServiceProvider /**

    引导应用程序服务。 * @return 无效 */ 公共函数启动() //

    /**

    注册应用程序服务。 * @return 无效 */ 公共函数寄存器() 简码::register('jobs', JobsForm::class);

我使用 laravel 5.4,所以这可能是个问题。

问题是该类显然存在,它给出了 Shortcodes class not found 错误,因为我认为它在 app/providers/ShortcodesServiceProvider 文件中搜索它,显然它不在供应商文件中。

我已经检查并仔细检查了我缺少的东西,我似乎无法让这个东西工作。

考虑到它定义了一个别名,它应该可以工作吗?

我在视图中这样使用它:

return view('quarx-frontend::pages.' . $page->template)->with('page', $page)->withShortcodes();

感谢您抽出宝贵时间阅读本文,我们将不胜感激。

如果您需要更多信息,我很乐意提供。

附言抱歉英语不好,不是母语人士:P

【问题讨论】:

【参考方案1】:

它在App\Providers; 命名空间中搜索Shortcode,而不是在定义外观的根命名空间中。

您可以通过以下任一方式在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);

我会推荐第一个选项。

【讨论】:

谢谢,我尝试了第一个选项并且它有效,我想他们应该指定将 use 短代码行放在提供程序中,这可能会让某些用户感到困惑,至少对我来说是这样。感谢您的帮助

以上是关于Laravel webwizo 简码包 Shortcodes 类未找到的主要内容,如果未能解决你的问题,请参考以下文章

111 个简码调用另一个简码?

详解WordPress中简码格式标签编写的基本方法

无法解析 acf 字段中的简码(wordpress)

Elementor 使用自定义简码破坏网站

将 ACF 字段传递给简码

使用简码从数据库中检索数据