Php 命名对象相同,但名称空间不同

Php 命名对象相同,但名称空间不同,php,laravel,oop,namespaces,Php,Laravel,Oop,Namespaces,在系统中,我们有用户和系统本身的设置。通常,我可能会将它们的控制器和其他对象命名为systemsetingscoontroller和usersetingscoontroller。我将控制器分离到它们自己的文件夹中,因此它们有不同的名称空间 有人在命名对象时考虑过对象的名称空间吗?这是正确的用法吗?我正在考虑做一些类似于users\settingscoontroller和system\settingscoontroller的事情。因此,它们具有相同的名称,但差异可以通过名称空间来区分。您可以编写:

在系统中,我们有用户和系统本身的设置。通常,我可能会将它们的控制器和其他对象命名为
systemsetingscoontroller
usersetingscoontroller
。我将控制器分离到它们自己的文件夹中,因此它们有不同的名称空间

有人在命名对象时考虑过对象的名称空间吗?这是正确的用法吗?我正在考虑做一些类似于
users\settingscoontroller
system\settingscoontroller
的事情。因此,它们具有相同的名称,但差异可以通过名称空间来区分。

您可以编写:

use Carrington/User/SettingsController as UserSettingsController;
use Carrington/System/SettingsController as SystemSettingsController;

明确地将课程彼此分开。如果我在同一个类中使用这两个函数,那么我会给它们取别名。但是从我所看到的,你会发现做和我提到的一样的事情是可以接受的,它们都被称为
settingscoontroller
对吗?@kenshin9是的,这不仅仅是可以接受的,这就是为什么名称空间被用于。不要试图根据类的完整函数来命名它,而是对它进行分类。当使用别名时,您可以完全使用别名,它不会影响类。如果两个类对每个类别都执行基本相同的操作,则可以通过继承一个基类(例如utility/AbstractSettingsController)来构造这些类。或者,如果您的经验法则是实用程序类别只包含抽象类/接口,那么也可以用同样的方式将其称为实用程序/设置控制器。这更多的是一个品味问题,即您喜欢使用多少文件,以及IDE自动完成所需的时间(如果您有10个相同名称的类,则会很无聊)。至于我,我更喜欢设置Functional文件夹,在你的情况下,我会设置Controller/UserSettingsController