[英]How to apply symfony bundle to Laravel?
\\我聽說Laravel是用symfony php框架制作的。 因此,我認為symfony bundle也可以在Laravel中使用。
我想將其安裝到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.