Bonjour,
Je suis entrain d'apprendre à utilisé le framework Symfony, j'ai installer le bundle FOSUserBundle mais je recontre une erreur .
Voici mon code .
# src/FosSf3/MainBundle/Entity/User.php
<?php
namespace FosSf3\MainBundle\Entity;
use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
* Class User
* @package FosSf3\MainBundle\Entity
* @ORM\Table(name="fos_user")
* @ORM\Entity
*/
class User extends BaseUser
{
const ROLE_SUPER_ADMIN = 'ROLE_SUPER_ADMIN';
const ROLE_ADMIN = 'ROLE_ADMIN';
const ROLE_USER = 'ROLE_USER';
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var
*
* @ORM\Column(name="gender", type="string", length=255, nullable=true)
*/
protected $gender;
/**
* @var
*
* @ORM\Column(name="firstname", type="string", length=255, nullable=true)
*/
protected $firstname;
/**
* @var
*
* @ORM\Column(name="lastname", type="string", length=255, nullable=true)
*/
protected $lastname;
/**
* @var
*
* @ORM\Column(name="address", type="text", nullable=true, nullable=true)
*/
protected $address;
/**
* @var
*
* @ORM\Column(name="zip_code", type="string", length=255, nullable=true)
*/
protected $zipCode;
/**
* @var
*
* @ORM\Column(name="city", type="string", length=255, nullable=true)
*/
protected $city;
/**
* @var
*
* @ORM\Column(name="country", type="string", length=255, nullable=true)
*/
protected $country;
/**
* @var
*
* @ORM\Column(name="phone", type="string", length=255, nullable=true)
*/
protected $phone;
/**
* Constructor
*/
public function __construct()
{
parent::__construct();
}
/**
* @param mixed $gender
*/
public function setGender($gender)
{
$this->gender = $gender;
}
/**
* @return mixed
*/
public function getGender()
{
return $this->gender;
}
/**
* @param mixed $firstname
*/
public function setFirstname($firstname)
{
$this->firstname = $firstname;
}
/**
* @return mixed
*/
public function getFirstname()
{
return $this->firstname;
}
/**
* @param mixed $lastname
*/
public function setLastname($lastname)
{
$this->lastname = $lastname;
}
/**
* @return mixed
*/
public function getLastname()
{
return $this->lastname;
}
/**
* @param mixed $address
*/
public function setAddress($address)
{
$this->address = $address;
}
/**
* @return mixed
*/
public function getAddress()
{
return $this->address;
}
/**
* @param mixed $city
*/
public function setCity($city)
{
$this->city = $city;
}
/**
* @return mixed
*/
public function getCity()
{
return $this->city;
}
/**
* @param mixed $country
*/
public function setCountry($country)
{
$this->country = $country;
}
/**
* @return mixed
*/
public function getCountry()
{
return $this->country;
}
/**
* @param int $id
*/
public function setId($id)
{
$this->id = $id;
}
/**
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* @param mixed $zipCode
*/
public function setZipCode($zipCode)
{
$this->zipCode = $zipCode;
}
/**
* @return mixed
*/
public function getZipCode()
{
return $this->zipCode;
}
/**
* @param mixed $phone
*/
public function setPhone($phone)
{
$this->phone = $phone;
}
/**
* @return mixed
*/
public function getPhone()
{
return $this->phone;
}
}
# app/config/config.yml
imports:
- { resource: parameters.yml }
- { resource: security.yml }
- { resource: services.yml }
# Put parameters here that don't need to change on each machine where the app is deployed
# https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
parameters:
locale: en
framework:
#esi: ~
translator: { fallbacks: ['%locale%'] }
secret: '%secret%'
router:
resource: '%kernel.project_dir%/app/config/routing.yml'
strict_requirements: ~
form: ~
csrf_protection: ~
validation: { enable_annotations: true }
#serializer: { enable_annotations: true }
templating:
engines: ['twig']
default_locale: '%locale%'
trusted_hosts: ~
session:
# https://symfony.com/doc/current/reference/configuration/framework.html#handler-id
handler_id: session.handler.native_file
save_path: '%kernel.project_dir%/var/sessions/%kernel.environment%'
fragments: ~
http_method_override: true
assets: ~
php_errors:
log: true
# Twig Configuration
twig:
debug: '%kernel.debug%'
strict_variables: '%kernel.debug%'
# Doctrine Configuration
doctrine:
dbal:
driver: pdo_mysql
host: '%database_host%'
port: '%database_port%'
dbname: '%database_name%'
user: '%database_user%'
password: '%database_password%'
charset: UTF8
# if using pdo_sqlite as your database driver:
# 1. add the path in parameters.yml
# e.g. database_path: '%kernel.project_dir%/var/data/data.sqlite'
# 2. Uncomment database_path in parameters.yml.dist
# 3. Uncomment next line:
#path: '%database_path%'
orm:
auto_generate_proxy_classes: '%kernel.debug%'
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: true
# Swiftmailer Configuration
swiftmailer:
transport: '%mailer_transport%'
host: '%mailer_host%'
username: '%mailer_user%'
password: '%mailer_password%'
spool: { type: memory }
# FOS User Bundle
fos_user:
db_driver: orm
firewall_name: main
user_class: FosSf3\MainBundle\Entity\User
service:
mailer: fos_user.mailer.twig_swift
registration:
form:
type: FOS\UserBundle\Form\Type\RegistrationFormType
name: fos_user_registration_form
validation_groups: [Registration, Default]
confirmation:
enabled: true
template: '@FOSUser/Registration/email.txt.twig'
profile:
form:
type: FOS\UserBundle\Form\Type\ProfileFormType
#validation_groups: [Profile, Default]
resetting:
email:
template: '@FOSUser/Resetting/email.txt.twig'
group:
group_class: FosSf3\MainBundle\Entity\Group
from_email:
address: mail@domain.tld
sender_name: user
Je cherche a réparer cette erreur j'ai chercher de moi même quelques heures mais je comprends toujours pas d'ou viens cette erreur..
Voici l'erreur que j'obtiens
Attempted to load class "User" from namespace "FosSf3\MainBundle\Entity".aroundDid you forget a "use" statement for e.g. "Symfony\Component\Security\Core\User\User", "Symfony\Bridge\Doctrine\Tests\Fixtures\User" or "FOS\UserBundle\Model\User"?
Dans l'attente d'une aide qui pourrait m'être très précieuse, je vous remerci.
Cordialement.
Salut,
C'ets vraisemblablement un problème de namespace. Vérifes que tu importes les bons namespaces et que les noms sont bien corrects (problème de casse, oubli de caractères, caractères en trop etc).
Et lance un composer --dump-autoload
pour mettre à jour l'autoloader (tu as dû le faire après avoir installé le FOSUserBundle normalement).