2017-04-14 38 views
0

我最近開始使用laravel,所以我是一個初學者,現在我正在開發一個小項目,它需要我使用短代碼(如wordpress中的代碼)。 所以我搜索了一點,發現這個包:Laravel webwizo shortcodes包沒有找到短代碼類

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

我跑的安裝和使用它的編寫方式,但我得到的錯誤:類「應用程序\供應商\簡碼」不是在發現提供者我必須使用包說明中指定的laravel make:provider命令,下面是我確切的用法和安裝代碼。

  1. 已將此添加到提供商數組:

    /* 
    * shortcodes providers 
    */ 
    Webwizo\Shortcodes\ShortcodesServiceProvider::class, 
    App\Providers\ShortcodesServiceProvider::class, 
    
  2. 將此添加到別名:

    '簡碼'=> Webwizo \簡碼\外牆\簡碼::類,

  3. 這是我在應用/提供商中的ShortcodesServiceProvider的內容:

    命名空間App \ Providers;

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

    類ShortcodesServiceProvider擴展的ServiceProvider { /**

    • 引導的應用服務。 *
    • @返回無效 */ 公共功能啓動(){ // }

    /**

    • 註冊應用程序服務。 *
    • @返回空隙 */ 公共功能寄存器() { 簡碼::寄存器( '作業',JobsForm ::類); }}

我用laravel 5.4,這樣可能是一個問題。

這個東西顯然存在,它給了Shortcodes類未找到錯誤,因爲我認爲它在app/providers/ShortcodesServiceProvider文件中搜索它,顯然它不在供應商文件中。

是否有東西我失蹤我檢查和雙重檢查,我似乎無法得到這個東西的工作。

它應該考慮它有一個別名定義的權利?

我把它用在像這樣的觀點:

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

感謝您百忙之中閱讀此任何幫助將是非常讚賞的時間。

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

p.s.對於英語不好,不是母語:P

回答

1

它在App\Providers;命名空間中搜索Shortcode,而不是在定義Facade的根名稱空間中搜索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); 
} 

我建議第一個選項。

+0

謝謝,我試過第一個選項,它工作,我想他們應該指定將使用簡碼行放在提供程序中,它可能會讓一些用戶感到困惑,對我來說至少是這樣。謝謝你的幫助 – PhpJunior