我有以下课程:

class User {

public function setName($value) { ... }

public function setEmailAddress($value) { ... }

public function setUsername($value) { ... }

public function getName() { ... }

public function getEmailAddress() { ... }

public function getUsername() { ... }

public function isGroupAdministrator($groupId) { ... }

public function isMemberOfGroup($groupId) { ... }

public function isSiteAdministrator() { ... }

public function isRoot() { ... }

public function hasModulePermission($moduleId, $recordId, $permissionCode) { ... }

public function hasGroupPermission($groupId, $permissionCode) { ... }

public function hasContentPermission($recordId, $permissionCode) { ... }

public function hasModulePermission($moduleId, $recordId, $permissionCode) { ... }

public function canLogIn() { ... }

public function isLoggedIn() { ... }

public function setCanLogIn($canLogIn) { ... }

}

这会变成“神级吗?”

我不确定我是否应该分开这门课.这样做的问题是该类的方法被其域用于确定是否在网页上显示给定的UI元素,因此类中没有任何行为.

我想我可以将权限相关的方法放在一些Permission类中,使这些方法保持静态(例如.:: userIsGroupAdministrator(…),:: userIsMemberOfGroup(…):: userHasGroupPermission(…),:: userHasContentPermission(…))

关于这门课程如何更好的任何建议?

php设计是什么意思,php – 什么是更好的设计?相关推荐

  1. catia 工厂设计_SolidWorks、creo、UG哪个更适合机械设计?

    机械设计太广了.综合地讲机械工程师用Creo,UG,机械人员用SOLIDWORKS. 以下是对三个软件的综合比较: Creo,UG的价格都很贵的.SolidWork便宜多了. 注意:CREO,cati ...

  2. ui设计界面参数_参数化设计,可以更有效地设计用户界面

    ui设计界面参数 User Interface Designers lacked proper design tools for years. Fortunately with the appeara ...

  3. 如何设计一个复杂的业务系统?从对领域设计、云原生、微服务、中台的理解开始...

    欢迎关注方志朋的博客,回复"666"获面试宝典 01 如何解决复杂业务设计 Aliware 软件架构设计本身就是一个复杂的事情,但其实业界已有一个共识,那就是"通过组件化 ...

  4. FPGA逻辑设计回顾(12)RAM以及ROM的RTL设计及其验证

    前言 本文首发:FPGA逻辑设计回顾(12)RAM以及ROM的RTL设计及其验证 RAM以及ROM在FPGA中的实现大体有两种方式,一种是使用IP核定制,一种是RTL设计. 也许有人会反驳,那原语呢? ...

  5. 《响应式Web设计全流程解析》一1.2 静态设计稿舒适区

    本节书摘来异步社区<响应式Web设计全流程解析>一书中的第1章,第1.2节,作者: [美]Stephen Hay 译者: 余果 , 等 责编: 赵轩,更多章节内容可以访问云栖社区" ...

  6. 经典网页设计:20例与众不同的网页联系表单设计

    网站是企业宣传和展示其产品的一个非常好的媒介,同时也是收集用户建议和评价的最佳途径.作为网站最重要的组成部分之一,联系表单是用户反馈信息的重要窗口.联系表单的设计应该具有创意性,能够吸引用户的注意力, ...

  7. SoC嵌入式软件架构设计之二:虚拟内存管理原理、MMU硬件设计及代码分块管理...

    程序的大部分代码都可以在必要的时候才加载到内存去执行,运行完后可以被直接丢弃或者被其他代码覆盖.我们PC上同时跑着很多的应用程序,每个应用程序使用的虚拟地址空间几乎可以整个线性地址空间(除了部分留给操 ...

  8. 过程计算机控制综合课程设计,自动化10本 12升《计算机控制综合课程设计》任务书...

    <计算机控制综合课程设计>任务书 一.设计目的和要求 (一)目的 通过计算机控制综合课程设计,学生应掌握计算机控制系统的设计原则.方法和步骤,熟悉相关计算机控制系统的硬件组成与设计方案,掌 ...

  9. mysql下载哪一代版本好_潮一代更好的设计

    mysql下载哪一代版本好 I think we can all agree that quarantined life has been strange. And while most of the ...

最新文章

  1. css媒体查询移动优先和pc优先
  2. c语言 中insert变量值,c – 在VS2010中的vector :: insert执行意外结果
  3. mysql范围条件_MySQL 索引及优化实战(一)
  4. ios实例开发精品文章推荐(8.5)
  5. JMS学习五(ActiveMQ的本地事务)
  6. 列表推导(list comprehension)--Python
  7. python爬虫什么意思-终于知道python爬虫是什么意思
  8. hdu 4638 Group
  9. nekohtml和xpath
  10. VS201x提示无法查找或打开 PDB 文件
  11. 格式化U盘并测试读写速度
  12. react native 动画组件(Animated)浅析
  13. 完全模拟FIFA2014世界杯 原创求顶!
  14. 超清西瓜视频真实视频地址获取方法
  15. Linux TCP之sack(一)
  16. 2021-11-06关节空间路径规划和算法(采样、搜索)或者末端轨迹优化?
  17. 硬盘分区计算方法 让你分出整数分区
  18. i春秋WEB CTF 1
  19. shell脚本常见开发工具
  20. CUID卡抠抠复制浅谈

热门文章

  1. C及opencv指针释放问题
  2. java web 静态_「Java Web」主页静态化的实现
  3. 怎么自定义字体_自定义字体@fontface的常见应用
  4. 台式计算机如何连接vif,关于计算机二级( VIF ) 县城有高手吗? 急寻
  5. centos图形化桌面的文件在哪_CentOS 安装图形桌面
  6. 王者荣耀服务器维护啥时候结束,王者荣耀维护几点结束今天?11月10日维护公告...
  7. php vprintf,vprintf - [ C语言中文开发手册 ] - 在线原生手册 - php中文网
  8. DM达梦创建表空间用户
  9. jquery 操作css 选择器
  10. H5之audio标签放音兼容所有浏览器方法