繁体   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