Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Variables Symfony2用户实体更改类变量_Variables_Symfony_Entity - Fatal编程技术网

Variables Symfony2用户实体更改类变量

Variables Symfony2用户实体更改类变量,variables,symfony,entity,Variables,Symfony,Entity,这个问题很简单,但我不知道怎么做。 例如,我们有用于登录的用户实体(下面的类),如何将$password更改为$accountPass?当然,这意味着必须应用所有关系,因为它是$password,所有symfony2类必须理解变量(旧)$password现在是(更改为)$accountPass 问题是关于“变量的名称”。。。有人知道怎么处理吗 用户实体: use Doctrine\ORM\Mapping as ORM; use Symfony\Component\Security\Core\Us

这个问题很简单,但我不知道怎么做。 例如,我们有用于登录的用户实体(下面的类),如何将$password更改为$accountPass?当然,这意味着必须应用所有关系,因为它是$password,所有symfony2类必须理解变量(旧)$password现在是(更改为)$accountPass

问题是关于“变量的名称”。。。有人知道怎么处理吗

用户实体:
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Security\Core\User\UserInterface;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;

/**
 * @ORM\Entity()
 * @ORM\Table(name="_account")
 * @UniqueEntity("username")
 */
class User implements UserInterface
{

public function __construct()
{
    $this->salt = md5(uniqid(null, true));
    $this->isActive = true;
}

/**
 * Get roles
 *
 * @return string 
 */
public function getRoles()
{
    return array('ROLE_USER');
}

/**
 * 
 *
 * @return 
 */
public function eraseCredentials()
{

}

/**
 * Get equals
 *
 * @return boolean
 */
public function equals(UserInterface $user)
{
    return $user->getUsername() == $this->getUsername();
}

/**
 * @var integer
 *
 * @ORM\Id
 * @ORM\Column(name="id", type="integer")
 * @ORM\GeneratedValue(strategy="AUTO")
 */
protected $id;

/**
 * @var string
 * 
 * @ORM\Column(name="username", type="string", length=255, unique=true)
 */
protected $username;

/**
 * @var string
 * 
 * @ORM\Column(name="password", type="string", length=255)
 */
protected $password;

/**
 * @var string
 * 
 * @ORM\Column(name="email", type="string", length=255)
 */
protected $email;

/**
 * @var string
 * 
 * @ORM\Column(name="salt", type="string", length=255)
 */
protected $salt;

/**
 * @var boolean
 * @ORM\Column(name="isActive", type="boolean")
 */
protected $isActive;

/**
 * Get id
 *
 * @return integer 
 */
public function getId()
{
    return $this->id;
}

/**
 * Set username
 *
 * @param string $username
 * @return User
 */
public function setUsername($username)
{
    $this->username = $username;

    return $this;
}

/**
 * Get username
 *
 * @return string 
 */
public function getUsername()
{
    return $this->username;
}

/**
 * Set password
 *
 * @param string $password
 * @return User
 */
public function setPassword($password)
{
    $this->password = $password;

    return $this;
}

/**
 * Get password
 *
 * @return string 
 */
public function getPassword()
{
    return $this->password;
}

/**
 * Set email
 *
 * @param string $email
 * @return User
 */
public function setEmail($email)
{
    $this->email = $email;

    return $this;
}

/**
 * Get email
 *
 * @return string 
 */
public function getEmail()
{
    return $this->email;
}

/**
 * Set salt
 *
 * @param string $salt
 * @return User
 */
public function setSalt($salt)
{
    $this->salt = $salt;

    return $this;
}

/**
 * Get salt
 *
 * @return string 
 */
public function getSalt()
{
    return $this->salt;
}

/**
 * Set isActive
 *
 * @param string $isActive
 * @return User
 */
public function setIsActive($isActive)
{
    $this->isActive = $isActive;

    return $this;
}

/**
 * Get isActive
 *
 * @return string 
 */
public function getIsActive()
{
    return $this->isActive;
}
}

显然,当您更改方法名称时,其他类无法知道这一点
所有出现的旧方法名称都应更改为

但我真的不明白你为什么要这么做

检查这个答案:


您必须映射实体类中的所有字段,并根据需要命名它们。

在ZendFramework中,您可以为要登录的任何列创建简单表单,您可以自己设置凭据文件,只是想知道我可以在SF2中执行同样的操作吗?不,这不是我要搜索的解决方法:(好吧,我想我当时误解了你的问题。我已经很久没有使用ZF了,所以更多的代码(表格)可以让你更清楚地了解你正在尝试完成的事情。我看到了“目前没有一个条令项目允许覆盖子实体中映射超类的部分映射。”似乎没有正确的解决方案,thnx
/**
 * @var string
 * 
 * @ORM\Column(name="password", type="string", length=255)
 */
protected $accountPass;

public function setPassword($password)
{
    $this->accountPass = $password;

    return $this;
}

/**
 * Get password
 *
 * @return string 
 */
public function getPassword()
{
    return $this->accountPass;
}