我浏览了文档,想添加自己的用户提供程序(只是为了了解漏洞)类刚刚被称为帐户,没有用户
所以我按照文件上说的那样做了:http://symfony.com/doc/current/cookbook/security/entity_provider.html
打电话后创建了getter和setter方法php app/console doctrine:generate:entities BaseBundle/Entity/Account
。
我编辑了security.yml
文件并查看了界面。Account.php第243行出现致命错误异常:分析错误:语法错误,意外的"$",应为变量(T_variable)´´
public function set0($0)
{
$this->0 = $0;
return $this;
}
为什么这是由学说产生的?没有变量"0"
当我删除0的getter和setter时,新的错误是:Property RunalyzeBaseBundleEntityAccount::$0 does not exist
我认为在这种情况下,当我没有通过身份验证时,0会出现吗?
刚从symfony2开始,我想了解这一点。我做错了什么?symfony的运行版本是2.6
对于最后一个"错误"堆栈跟踪at ReflectionProperty ->__construct ('RunalyzeBaseBundleEntityAccount', '0')
in vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/RuntimeReflectionService.php at line 82
at RuntimeReflectionService ->getAccessibleProperty ('RunalyzeBaseBundleEntityAccount', '0')
in vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php at line 893
at ClassMetadataInfo ->wakeupReflection (object(RuntimeReflectionService))
in vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php at line 537
类属性//Runalyze/BaseBundle/Entity/Account.php命名空间Runalyze\BaseBundle\Entity;
use DoctrineORMMapping as ORM;
use SymfonyComponentSecurityCoreUserUserInterface;
/**
* @ORMTable(name="app_account")
* @ORMEntity(repositoryClass="RunalyzeBaseBundleEntityAccountRepository")
*/
class Account implements UserInterface, Serializable
{
/**
* @ORMColumn(type="integer")
* @ORMId
* @ORMGeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORMColumn(type="string", length=25, unique=true)
*/
private $username;
/**
* @ORMColumn(type="string", length=64)
*/
private $password;
/**
* @ORMColumn(type="string", length=60, unique=true)
*/
private $email;
/**
* @ORMColumn(name="is_active", type="boolean")
*/
private $isActive;
好吧,我不知道这是怎么发生的,但是:我找到了一个文件Resources/config/doctrine/Account.orm.yml
我不知道这是什么时候生成的,但有一个"0"字段。我删除了该文件,并再次运行getter和setter的生成。这很好。
但感谢@Andariel试图找到我的错误!