symfony doctrine mapping fosuserbundle mappingexception

Symfony 2.5.5 y FOSUserBundle: la clase... no se encontrĂ³ en la cadena de espacios de nombres configurados



doctrine mapping (1)

Primero necesita configurar psr-4 autocarga en su composer.js, por ejemplo

"autoload": { "psr-4": { "Meiblorn//CoreBundle//": "src/Meiblorn/CoreBundle/" } },

Luego llama al composer dumpautoload .

En segundo lugar, creo que Doctrine espera que las entidades vivan en una carpeta Entity/ , así que intenta mover tu modelo: src/Meiblorn/CoreBundle/Framework/Domain/User.php a src/Meiblorn/CoreBundle/Entity/User.php o cómo Cómo cambio el mapeo de doctrinas de Symfony 2 para usar mi directorio personalizado en lugar de mi Directorio de Entidades bajo el paquete

Recientemente, comencé a trabajar con Symfony2. Ahora quiero agregar un motor de administración de usuarios a mi sitio.

Pero estoy enfrentando un problema. Esto es lo que estoy haciendo:

  1. En términos de crear / instalar un proyecto básico Symfony2:

    $ composer create-project symfony/framework-standard-edition path/ "2.5.*" $ mv path/* ./ $ rm -r path/

  2. Ok, mucho para Symfony 2.5.5. A continuación, descargue FOSUserBundle y cree un paquete personalizado:

    $ composer require friendsofsymfony/user-bundle ''~2.0@dev'' $ php app/console generate:bundle --namespace=Meiblorn/CoreBundle --format=yml

  3. Cree la clase de usuario en el espacio de nombres Meiblorn / CoreBundle / Framework / Domain

    /** * User: Meiblorn * Date: 15/10/14 * Time: 20:17 */ namespace Meiblorn/CoreBundle/Framework/Domain; use FOS/UserBundle/Model/User as FOSUserBundleUser; use Doctrine/ORM/Mapping as ORM; /** * @ORM/Entity * @ORM/Table( * name = "users" * ) */ class User extends FOSUserBundleUser { /** * @ORM/Id * @ORM/Column(type="integer") * @ORM/GeneratedValue(strategy="AUTO") */ protected $id; public function __construct() { parent::__construct(); // your own logic } } ?>

  4. Configure security.yml y config.yml. Finalmente, obtuve esto:

    AppKernel.php

    $bundles = array( new Symfony/Bundle/FrameworkBundle/FrameworkBundle(), new Symfony/Bundle/SecurityBundle/SecurityBundle(), new Symfony/Bundle/TwigBundle/TwigBundle(), new Symfony/Bundle/MonologBundle/MonologBundle(), new Symfony/Bundle/SwiftmailerBundle/SwiftmailerBundle(), new Symfony/Bundle/AsseticBundle/AsseticBundle(), new Doctrine/Bundle/DoctrineBundle/DoctrineBundle(), new FOS/UserBundle/FOSUserBundle(), new Meiblorn/CoreBundle/MeiblornCoreBundle(), );

    config.yml

    imports: - { resource: parameters.yml } - { resource: security.yml } framework: #esi: ~ translator: { fallback: "%locale%" } secret: "%secret%" router: resource: "%kernel.root_dir%/config/routing.yml" strict_requirements: ~ form: ~ csrf_protection: ~ validation: { enable_annotations: true } templating: engines: [''twig''] #assets_version: SomeVersionScheme default_locale: "%locale%" trusted_hosts: ~ trusted_proxies: ~ session: # handler_id set to null will use default session handler from php.ini handler_id: ~ fragments: ~ http_method_override: true # Twig Configuration twig: debug: "%kernel.debug%" strict_variables: "%kernel.debug%" # Assetic Configuration assetic: debug: "%kernel.debug%" use_controller: false bundles: [ ] #java: /usr/bin/java filters: cssrewrite: ~ #closure: # jar: "%kernel.root_dir%/Resources/java/compiler.jar" #yui_css: # jar: "%kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar" # Doctrine Configuration doctrine: dbal: driver: "%database_driver%" host: "%database_host%" port: "%database_port%" dbname: "%database_name%" user: "%database_user%" password: "%database_password%" charset: UTF8 orm: auto_generate_proxy_classes: "%kernel.debug%" auto_mapping: true # Swiftmailer Configuration swiftmailer: transport: "%mailer_transport%" host: "%mailer_host%" username: "%mailer_user%" password: "%mailer_password%" spool: { type: memory } fos_user: db_driver: orm firewall_name: prod user_class: Meiblorn/CoreBundle/Framework/Domain/User

    security.yml

    security: encoders: FOS/UserBundle/Model/UserInterface: sha512 role_hierarchy: ROLE_ADMIN: ROLE_USER ROLE_SUPER_ADMIN: ROLE_ADMIN providers: fos_userbundle: id: fos_user.user_provider.username firewalls: prod: pattern: ^/ form_login: provider: fos_userbundle csrf_provider: form.csrf_provider logout: true anonymous: true dev: pattern: ^/(_(profiler|wdt)|css|images|js)/ security: false access_control: - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/admin/, role: ROLE_ADMIN }

ESTE ES EL PROBLEMA

In browser: http://localhost/test.meiblorn.com/web/app_dev.php/ MappingException: The class ''Meiblorn/CoreBundle/Framework/Domain/User'' was not found in the chain configured namespaces FOS/UserBundle/Model in /Library/WebServer/Documents/test.meiblorn.com/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/MappingException.php line 37 at MappingException::classNotFoundInNamespaces(''Meiblorn/CoreBundle/Framework/Domain/User'', array(''FOS/UserBundle/Model'')) in /Library/WebServer/Documents/test.meiblorn.com/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/MappingDriverChain.php line 113 at MappingDriverChain->loadMetadataForClass(''Meiblorn/CoreBundle/Framework/Domain/User'', object(ClassMetadata)) in /Library/WebServer/Documents/test.meiblorn.com/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php line 117 at ClassMetadataFactory->doLoadMetadata(object(ClassMetadata), object(ClassMetadata), false, array()) in /Library/WebServer/Documents/test.meiblorn.com/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php line 318

Además, Doctrine no crea tablas para esta asignación cuando llama a doctrine: schema: update

Por favor, ayúdame a arreglar esta excepción

¡ACTUALIZAR! Como arreglar

Configuración final para mi espacio de nombres

orm: auto_generate_proxy_classes: "%kernel.debug%" auto_mapping: false mappings: FOSUserBundle: ~ MeiblornCoreBundle: type: annotation dir: %kernel.root_dir%/../src/Meiblorn/CoreBundle/Framework/Entity prefix: Meiblorn/CoreBundle/Framework/Entity # alias: MyModels # is_bundle: true