phpjit/symfony-facade

Symfony为Laravel框架提供的门面。

dev-master / 1.0.x-dev 2021-03-08 14:28 UTC

This package is not auto-updated.

Last update: 2024-10-02 06:00:35 UTC


README

TravisBuild [![Scrutinizer Code Quality] (https://scrutinizer-ci.com/g/Phpjit/symfony-facade/badges/quality-score.png?b=master)] (https://scrutinizer-ci.com/g/Phpjit/symfony-facade/?branch=master) CodeCoverage

Symfony为Laravel

此包允许你在Laravel应用中使用Symfony特定包。只需将你的Symfony相关包添加到composer.json,安装它,配置它,并享受它 ;)

支持以下特性:

  • Symfony的依赖注入容器,从标准的symfony配置文件中加载。

  • 路由转换。在routes.yml文件中配置的路由可以在Laravel中使用。

  • 可以从Artisan命令或管理员表单执行Symfony命令。

由于此包仍处于早期beta阶段,因此并非所有功能和兼容性都已测试和开发。

安装和配置

将其添加到composer

$ composer require taciclei/symfonys-facade

注册包

将以下内容添加到你的config\app.php文件中的providers键底部

  /*
  * Custom
  */
 'Phpjit\SymfonysFacade\SymfonysFacadeServiceProvider',

在命名空间Phpjit(路径:$LARVEL_PROJECT_ROOT/packages/Phpjit/)下创建文件SymfonyBundles.php,内容如下

    <?php
    
    namespace Phpjit;
    
    class SymfonyBundles
    {
        public static function getBundles()
        {
            return [
            ];
        }
    }

这是你的Symfony包将被注册的地方。熟悉吗? :)

将包加载类命名空间加载到composer.json中

 "psr-4": {
             "App\\": "app/",
             "Phpjit\\": "packages/Phpjit/"
         }

你可以更改它,但如果你遵循教程,这是默认注册的包加载器。更多详情在配置部分。

现在运行composer dump-autoload

vendor/phpjit/symfony-facade/Tests/symfony/config的内容复制到storage/app/symfony/config。你可以通过运行以下命令来完成此操作:mkdir storage/app/symfony/config ; cp -a vendor/taciclei/symfonys-facade/Tests/symfony/config storage/app/symfony

在控制台中运行命令:php artisan sf:cmd 'debug:container'

如果你看到了symfony服务列表,恭喜你。现在你可以转到Laravel教程中的symfony包安装部分。

遵循此示例教程教程,了解如何精确地安装带有默认配置的Symfony包

正如你所看到的,你可以通过传递给php artisan sf:cmd '$SYMFONY_COMMAND'来使用symfony命令

可自定义的配置

首先,你可以在app.php文件中输入配置参数。

这可以通过向app.php文件中添加以下行来完成

    'symfonysfacade_app_dir' => 'storage/symfony', #relative to laravel app dir
    'symfonysfacade_log_dir' => 'storage/symfony/logs', #relative to laravel app dir
    'symfonysfacade_bundles' => '\Phpjit\SymfonyBundles',

如果你不这样做,默认的设置将位于$LARVEL_PROJECT_ROOT/storage/app/symfony/env中,以你的项目部署环境结尾。

设置symfonysfacade_app_dir - 指定symfony工作目录的路径(其中存储缓存和config.yml文件)。缓存和日志目录也将存储在此处。

设置 symfonysfacade_bundles - 指定Symfonys捆绑注册的命名空间。在本教程中,如果您按照此文档操作,请使用 \Phpjit\SymfonyBundles。换句话说,应使用以下命名空间:

 "psr-4": {
            [ ... ]
            "Phpjit\\": "packages/VilniusTechnology/",
            [ ... ]
         }

在这个文件中,您将注册您的Symfony捆绑。

在由 symfonysfacade_app_dir 指定的路径(storage/symfony)中创建一个名为 config 的目录。在这个目录中,您应该创建或复制常规的symfonys配置文件(config.yml、parameters.yml 和 security.yml)。

许可证

此捆绑受MIT许可证的约束。

一些其他内容

可能存在一个自然的问题:为什么在Laravel中使用Symfony的捆绑。答案是:因为我想要这样做... :D

对于库,而不是捆绑,不需要使用这类东西。但在万维网上有许多优秀的捆绑,它们使用实际的Symfony框架。

因此,由于我想在Laravel5项目中使用特定的Symfony捆绑,而这些捆绑看起来不容易移植。最终,我们有了这个包。

此外,如果您需要快速原型设计,这个外观也可能很有用。只需包含它,注册它,您就在Laravel中拥有Symfony了;)