当我运行时doctrine orm:validate-schema,会弹出一堆关于我的映射列是公共的警告,而不是使用getter/setter方法来包装它们.它说他们"打破懒惰装载".我可以理解如何使公共关联集合成为问题(我确实将它们设为私有并将它们包装起来),但这对于对象上的字段来说又是怎样的问题?据我所知,字段已全部加载.
我不喜欢为实体类上的每个属性使用“愚蠢”的 getter 和 setter,因此我正在考虑使用魔术方法来获取/设置这些属性,而不是创建每个单独的 getter 和 setter。这个想法是当其逻辑与典型的“return $name”或“$this->name=$name”不同时创建特定的 getter 或 setter。此外,这个神奇的方法将在不同的类上创建,并且每个实体都会扩展它(我没有对这一步考虑太多)
无论如何,您对用魔术方法替换 getter/setter 有何看法?它会对性能造成太多惩罚吗?还有其他我没有考虑到的问题吗?
我有一个实体即Users.我想在Doctrine中创建这个实体的getter和setter,以便Doctrine可以读取它.
我怎么能这样做,有人能为我提供基本的例子吗?我是初学者
如何在此数据库表中插入数据?
这是我的用户实体
<?php
/**
* @Entity
* @Table(name="users")
* Total Number of Columns : 32
*/
class Users{
/* Attributes of Users */
/**
* @Id
* @Column(type="integer")
* @GeneratedValue
* @dummy
* @Assert\NotEmpty
*/
private $id;
/**
* @Column(type="string")
* @Assert\NotEmpty
*/
private $name;
/**
* @Column(type="string")
* @Assert\NotEmpty
*/
private $email;
}
?>
Run Code Online (Sandbox Code Playgroud)