PHP面向对象 - 实现多个用户角色的最佳方式

Sab*_*lik 4 php oop

我有三种类型的用户:A,B,C ..因此用户基类然后我们有3个派生类.但是,用户可以同时使用两种类型.我们如何以合适的方式处理这个问题,请记住用户的类型将定义他们在应用程序中的访问类型.

dev*_*ium 6

也许你应该重新定义你的设计.我会说最好定义两个类:

  • 角色类
  • 用户类

然后,User类可以拥有一组角色.这将使整个设计变得更简单,更清洁.

用户可以没有,一个或不同的角色.但是,用户本质上不具备任何角色.它只具有承担角色的能力.

但是当然你可以在这里使用装饰模式,如其他海报所述.


Pio*_*ski 5

我会使用装饰模式,例如

$user = new User ();
$user = new Role1 ($user);
$user = new Role2 ($user);
Run Code Online (Sandbox Code Playgroud)