Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 更好的是,为管理员和访客提供一节课,还是为公司和管理员公司提供两节课?_Php_Oop - Fatal编程技术网

Php 更好的是,为管理员和访客提供一节课,还是为公司和管理员公司提供两节课?

Php 更好的是,为管理员和访客提供一节课,还是为公司和管理员公司提供两节课?,php,oop,Php,Oop,我有一个类公司,这个类有一些搜索、列表等方法,供我网站的访问者使用。但是我有一个不同的类adminCompany,它只在有管理员用户登录时才起作用。此类还有其他方法:update\u info\u company(),delete\u company(),以及管理员可以执行的任何操作 我的问题是: 我应该有一个单独的类(公司)来做任何事情,并且只限制对某些方法的访问吗 这是否违反了OOP的原则 PD:这只是为了让课程更干净、更短。在OOP中,我们有一个东西:。它基本上意味着每个类只有一个更改

我有一个类
公司
,这个类有一些搜索、列表等方法,供我网站的访问者使用。但是我有一个不同的类
adminCompany
,它只在有管理员用户登录时才起作用。此类还有其他方法:
update\u info\u company()
delete\u company()
,以及管理员可以执行的任何操作

我的问题是:

  • 我应该有一个单独的类(公司)来做任何事情,并且只限制对某些方法的访问吗
  • 这是否违反了OOP的原则

PD:这只是为了让课程更干净、更短。

在OOP中,我们有一个东西:。它基本上意味着每个类只有一个更改的理由(扩展时)

从您的描述来看,“公司”似乎是一个单独的实体(很可能是其变体),具有不同的属性,可以创建或删除。然后它还有工厂的一些方面,当它用于查找同一对象的多个实例时。这似乎是个错误

您应该将这个结构的两个方面分开(我假设现在您有了
类AdminCompany extensed Company{}
,这是问题的一部分)

至于控制哪些用户组可以执行任务,您可能会发现这很有用