symfony

时间:2017-02-20 19:40:09

标签: php symfony fosuserbundle pugxmultiuserbundle

我目前正致力于一个symfony项目,我必须完成这个项目以结束我的学位。

我想为我的网站创建两种用户,所以我安装了最受欢迎且易于使用的PUGX。我按照github上的文档来实现安装,但是我现在已经停了两天了,我真的找不到解决方案了。

当我想要进入我的索引页面时,我收到此错误:

  

中的ServiceNotFoundException   CheckExceptionOnInvalidReferenceBehaviorPass.php第58行:
  服务" pugx_user.manager.orm_user_manager"依赖于   不存在的服务" fos_user.util.password_updater"。
  正如您所看到的,我也在使用FOSUserBundle。

我真的不知道这意味着什么,我在论坛和其他内容上找不到任何相关信息。

如果您想看一下我可以随意询问我的文件,我会将它们添加到主题中。

我在下面添加主配置:

**app/config/config.yml**

    # FOS user config
    fos_user:
        db_driver: orm
        firewall_name: main
        user_class: Utilisateurs\UtilisateursBundle\Entity\Utilisateurs
        service:
            user_manager: pugx_user_manager

    # PUGXmultiuser config
    pugx_multi_user:
      users:
        Client:
            entity: 
              class: Utilisateurs\UtilisateursBundle\Entity\Client
            registration:
              form: 
                type: Utilisateurs\UtilisateursBundle\Form\Type\RegistrationClientFormType
                name: fos_user_registration_form
                validation_groups:  [Registration, Default]
              template: UtilisateursUtilisateursBundle:views:Registration:Client.html.twig
            profile:
              form:
                type: Utilisateurs\UtilisateursBundle\Form\Type\ProfileClientFormType
                name: fos_user_profile_form
                validation_groups:  [Profile, Default] 

        Moniteur:
            entity: 
              class: Utilisateurs\UtilisateursBundle\Entity\Moniteur
            registration:
              form: 
                type: Utilisateurs\UtilisateursBundle\Form\RegistrationMoniteurFormType
              template: UtilisateursUtilisateursBundle:views:Registration:Moniteur.html.twig
            profile:
              form: 
                type: Utilisateurs\UtilisateursBundle\Form\Type\ProfileMoniteurFormType

感谢您的帮助!

编辑:

我的控制台上有我的内容:

[Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException]
  The service "pugx_user.manager.orm_user_manager" has a dependency on a non-existent service "f
  os_user.util.password_updater".

还有我的composer.json文件:

{
    "name": "symfony/framework-standard-edition",
    "license": "MIT",
    "type": "project",
    "description": "The \"Symfony Standard Edition\" distribution",
    "autoload": {
        "psr-4": { "": "src/" },
        "classmap": [ "app/AppKernel.php", "app/AppCache.php" ]
    },
    "require": {
        "php": ">=5.3.9",
        "symfony/symfony": "2.8.*",
        "doctrine/orm": "^2.4.8",
        "doctrine/doctrine-bundle": "~1.4",
        "symfony/swiftmailer-bundle": "~2.3,>=2.3.10",
        "symfony/monolog-bundle": "^3.0.2",
        "sensio/distribution-bundle": "~5.0",
        "sensio/framework-extra-bundle": "^3.0.2",
        "incenteev/composer-parameter-handler": "~2.0",
        "friendsofsymfony/user-bundle": "2.0.*@dev",
        "pugx/multi-user-bundle": "3.0.*@dev"
    },
    "require-dev": {
        "sensio/generator-bundle": "~3.0",
        "symfony/phpunit-bridge": "~2.7"
    },
    "scripts": {
        "symfony-scripts": [
            "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
        ],
        "post-install-cmd": [
            "@symfony-scripts"
        ],
        "post-update-cmd": [
            "@symfony-scripts"
        ]
    },
    "config": {
        "bin-dir": "bin",
        "platform": {
            "php": "5.3.9"
        }
    },
    "minimum-stability": "dev",
    "extra": {
        "symfony-app-dir": "app",
        "symfony-web-dir": "web",
        "symfony-assets-install": "relative",
        "incenteev-parameters": {
            "file": "app/config/parameters.yml"
        },
        "branch-alias": {
            "dev-master": "2.8-dev"
        }
    }
}

请注意,我使用的是Symfony 2.8版本。如果它不是最新版本那会有关系吗?

编辑2

我做到了这一点:

# FOS user config
fos_user:
    db_driver: orm
    firewall_name: main
    user_class: Utilisateurs\UtilisateursBundle\Entity\Utilisateurs
    services:
        user_manager: pugx_user_manager
        fos_user.doctrine_registry:
            alias: doctrine

但是在web_dev.php中执行时我收到此消息并不起作用:

Unrecognized option "services" under "fos_user"

我的服务条款是否合适?

1 个答案:

答案 0 :(得分:0)

PUGX\MultiUserBundle\Resources\config\orm.yml"@fos_user.entity_manager"替换"@fos_user.object_manager"

app\config\config.yml添加(或修改)

services:
    fos_user.doctrine_registry:
        alias: doctrine

它应该可以解决你的问题。