【发布时间】:2011-09-28 04:15:42
【问题描述】:
我正在使用sfDoctrineGuardPlugin 在我的 Symfony 应用程序中管理用户、组和身份验证。
现在我想为sfGuardUser 模型添加一个头像。我怎样才能做到这一点?最好的方法是什么?我在网上看过好几种方法,但我不想把我的代码弄乱。
谢谢!
【问题讨论】:
标签: symfony1 custom-attributes extend sfdoctrineguard
我正在使用sfDoctrineGuardPlugin 在我的 Symfony 应用程序中管理用户、组和身份验证。
现在我想为sfGuardUser 模型添加一个头像。我怎样才能做到这一点?最好的方法是什么?我在网上看过好几种方法,但我不想把我的代码弄乱。
谢谢!
【问题讨论】:
标签: symfony1 custom-attributes extend sfdoctrineguard
有两种方法。
如果您计划在用户模型中包含大量信息,则最推荐使用第二个。但如果你只需要添加头像字段,扩展 sfGuardUser 会更方便。
为此,请将新的 sfGuardUser.schema.yml 放入您的 /config/ 文件夹中。它将被用来代替插件的。
要创建“个人资料”,无需特别了解:
Profile:
tableName: profile
columns:
sf_guard_user_id: integer
firstname: varchar(100)
phone: varchar(15)
relations:
sfGuardUser: { class: sfGuardUser, onDelete: CASCADE, local: sf_guard_user_id, foreign: id, foreignType: one }
【讨论】:
我的首选方法不需要更改数据库:
sfWidgetFormInputFileEditable 和sfValidatorFile 添加到sfGuardUserForm。根据需要配置小部件和验证器(删除允许、图像类型、大小等)sfGuardUser 添加一个方法,该方法根据用户的不可变属性(例如,散列用户ID)生成唯一路径。【讨论】: