SonataUserBundle 和 Symfony 3.4

Posted

技术标签:

【中文标题】SonataUserBundle 和 Symfony 3.4【英文标题】:SonataUserBundle and Symfony 3.4 【发布时间】:2018-06-12 06:52:15 【问题描述】:

我有一个问题,我应该使用哪个版本? 我从需要 FOSUserBundle ^2.0 的 Symfony 3.4 LTS 开始。要将 SonataUserBundle 与 FOSUserBundle 一起使用,我需要使用 ^4.0。在 4.0 中没有用户配置文件。我需要全部实现它们还是我错过了什么?

【问题讨论】:

【参考方案1】:

要将 SonataUserBundle 4.x 与 Symfony 3.4(更具体地说是 php 5.6/7.0)一起使用,您可以使用 "runroom/sonata-user": "4.x-dev"(参见 https://github.com/Runroom/SonataUserBundle),它是 Sonata 团队成员之一的一个分支,用于恢复 PHP 5.6/ SonataUserBundle 的 7.0 兼容性。

【讨论】:

【参考方案2】:

只有一种方法可以使用版本 4.x-dev 的 SonataUserBundle,但是...具有特殊的提交参考 (3dd68a6aae95cffe6a4275d68c27d2766d8b93f7) 和版本 2.0.1 的 FosUserBundle。 我确定这适用于 Symfony 3.3.2

这里是 composer.json 和 composer.lock 的例子:

Composer.json

"require": 

    ...

    "friendsofsymfony/user-bundle": "v2.0.1",

    ...

    "sonata-project/admin-bundle": "3.18.2",
    "sonata-project/doctrine-orm-admin-bundle": "3.1.4",
    "sonata-project/user-bundle": "4.x-dev",

    ...

    "symfony/symfony": "^3.3.2",

    ...

,

Compose.lock(奏鸣曲用户包部分)

 
        "name": "sonata-project/user-bundle",
        "version": "dev-master",
        "source": 
            "type": "git",
            "url": "https://github.com/sonata-project/SonataUserBundle.git",
            "reference": "3dd68a6aae95cffe6a4275d68c27d2766d8b93f7"
        ,
        "dist": 
            "type": "zip",
            "url": "https://api.github.com/repos/sonata-project/SonataUserBundle/zipball/3dd68a6aae95cffe6a4275d68c27d2766d8b93f7",
            "reference": "3dd68a6aae95cffe6a4275d68c27d2766d8b93f7",
            "shasum": ""
        ,
 ...

【讨论】:

以上是关于SonataUserBundle 和 Symfony 3.4的主要内容,如果未能解决你的问题,请参考以下文章

Symfony2 / SonataUserBundle - 注册后自动登录

禁用 SonataUserBundle sonata.user.admin.group 服务

在 Symfony/SonataUserBundle 设置中调用方法 setCurrentUri 失败

SonataUserBundle 的 check_path 异常

在没有 SonataUserBundle 的情况下访问 SonataAdminBundle 中的管理面板

获取用户列表时发生 SonataUserBundle 错误