需要在PHP中命名2个类的建议

时间:2011-03-16 07:11:57

标签: php html css class function

启动user时,我在/update/user.php启动了一个班级update.php。此类处理数据库上与用户相关的查询,例如编辑,删除,创建等。

我正在user中创建一个名为/src/user.php的新类,它将在数据库上执行与用户相关的查询,但只能检索它们(并输出)它们。例如检索用户ID,用户组,电子邮件等

我发现需要将它们命名为user但显然在检索update.php时会发生冲突。您可以为命名这两个不同的类提供哪些建议,即使它们是我的库中的单独区域但执行类似的操作?

使用PHP 4.

5 个答案:

答案 0 :(得分:2)

如果他们都查询,但只有一次写,那么我会建议像。

UserWrite
UserRead

UserCreate
UserAccess

答案 1 :(得分:2)

提供整个命名结构的替代方案,而不仅仅是建议名称。 Zend Framework和其他库具有与文件在树中的位置对应的命名结构。半虚构的例子:

Class name               Is in
-----------------------------------------------------------
Zend_Auth                /Zend/Auth.php
Zend_Auth_Adapter        /Zend/Auth/Adapter.php
Zend_Auth_Helper         /Zend/Auth/Helper.php
Zend_Auth_Adapter_HTTP   /Zend/Auth/Adapter/HTTP.php

所以下划线是目录分隔符,名称的最后一个元素是PHP文件的名称。

这样做的主要原因是它使autoloading非常容易,但它也是按任务排序库的好方法。此外,当您在代码中的某处看到某个类时,您总是可以告诉它在中的哪个文件,这是一个很好的补充。

在你当前的方法中,我看到的问题是“src”是一个非常不清楚的描述,该类实际上做了什么。也许一个更有说服力的名称(如“工具”或“查询”)将是有序的,或者可能是主用户类,应该只是命名为“用户”?

将上述示例应用于该结构可能会导致

Class name                   Is in
------------------------------------------------------------
MyAppname_User_Update        /User/Update.php
MyAppname_User               /User.php

哦,以及@Charles在评论中说的话。你绝对不应该为PHP 4开发。这是一个死的版本,是no longer supported.

答案 2 :(得分:0)

我理解你的问题,但你认为你真的想要创建2个不同的类来执行相同的操作吗?你可以在/src/user.php创建它,显然可以在任何你想要的地方使用它。您应该以这样的方式在该类中创建方法,以便在这两个问题中使用它们。即检索信息和更新信息。

答案 3 :(得分:0)

在OOP中,您的update.php称为BaseDAO.php,user.php称为UserDAO.php(数据访问对象)。但既然你没有使用OOP,我想使用可以命名为BaseService.php和UserService.php

答案 4 :(得分:0)

我建议您创建一个类来创建,编辑,删除和检索与用户相关的记录。然后管理用户角色以限制对方法的访问,而不是为一个对象类创建两个单独的类。

与现实世界比较的解释。

假设我们有班级汽车。当具有Mechanical Role(或机械师)的用户使用汽车类时,他将能够访问repair(), openHood()之类的方法,其中具有驾驶角色(或驱动程序)的用户将访问drive()方法。 / p>

在这种情况下,创建CarMechanic类和CarDriver类也是非常不合适的。

我想我明白了。