簡體   English   中英

如何將symfony捆綁軟件應用於Laravel?

[英]How to apply symfony bundle to Laravel?

\\我聽說Laravel是用symfony php框架制作的。 因此,我認為symfony bundle也可以在Laravel中使用。

IgorwFileServeBundle的github

我想將其安裝到Laravel“ 5.1。*”。 因此,我在composer.json中編輯了這一行。

"require": {
    "php": ">=5.5.9",
    "laravel/framework": "5.1.*",
    "igorw/file-serve-bundle": "~1.0"
},

然后我執行了composer update readme.md說我必須將其添加到我的應用程序的內核中。

public function registerBundles()
{
    $bundles = array(
        // ...
        new Igorw\FileServeBundle\IgorwFileServeBundle(),
        // ...
    );
    // ...
}

因此,我將其添加到了內核中。

protected $middleware = [
    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
    \App\Http\Middleware\EncryptCookies::class,
    \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
    \Illuminate\Session\Middleware\StartSession::class,
    \Illuminate\View\Middleware\ShareErrorsFromSession::class,
    \App\Http\Middleware\VerifyCsrfToken::class,
    \Igorw\FileServeBundle\IgorwFileServeBundle::class,
];

但是,當我在瀏覽器中保存並轉到我的應用程序時, Bundle.php第29行中出現FatalErrorException:找不到類'Symfony \\ Component \\ DependencyInjection \\ ContainerAware'

我錯了嗎?

Symfony和Laravel是2個完全不同的框架。 Symfony建立在20多個(甚至30多個)Symfony組件(由Symfony團隊創建的獨立庫)之上。 這些組件由框架捆綁包綁定在一起,並且創建的框架稱為Symfony全棧框架。

Laravel也使用其中一些組件。 Laravel框架只是將這些組件粘合在一起的另一種方法。 Silex是另一個框架,是綁定這些組件的另一種方法。

Bundles是來自Symfony 全棧組件(實際上是HttpKernel組件)的概念。 Laravel不使用它,因此您不能在Laravel中使用任何捆綁軟件。

如果需要使用Symfony捆綁包,則需要一個Symfony應用程序。 對您來說幸運的是,Laravel也擁有一個龐大的社區。 很可能有一個Laravel軟件包為Laravel框架實現了相同的功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM