我有一个简单的问题,希望有一个快速的答案。我编写的代码大量使用了命名空间(我在任何地方都使用完全限定名称);但是,需要包含一段代码(日历/日期选择器控件,不是我自己编写的)。当我尝试创建控件时,它假定当前命名空间(GUI),导致此错误:“PHP 致命错误:在 C:\inetpub\wwwroot\Calico\calico_classes_v2.php 中找不到类 'GUI\tc_calendar' 在线1852”。现在,日历控件本身(以及它的底层类文件)不使用名称空间,我有点担心尝试修改它(早期的尝试并不顺利)。
如何将不包含在命名空间中的控件导入/包含到我的其余代码中,这样做呢?PHP 是否有类似“从文件 AS \Calendar\Calendar 导入类日历”的内容?
编辑: 有关其他信息:我有一个名为“tc_calendar”的类,包含在一个名为“tc_calendar.php”的文件中。它不是任何命名空间的一部分。
在一个单独的文件中,我有几个类(Bitmap、CompositeCalendar、EventEditor、TimeExtractor),它们都包含在它们相应的命名空间(GUI、Data、Extract 等)中。
在 GUI 命名空间中包含的其中一个类 CompositeCalendar 中,我试图创建一个 tc_calendar 的实例。然而,PHP 抛出了一个错误(上图)。tc_calendar 不是任何 namspace 的一部分(绝对不是 GUI 命名空间的一部分,PHP 只是假设,因为它似乎找不到它),我需要帮助来创建它的实例。
tldr; $newcontrol = new tc_calendar() 不起作用;PHP 试图猜测它的命名空间(因为没有指定,因为 tc_calendar 不是任何命名空间的一部分),然后给出了 \GUI\tc_calendar (显然是错误的)。如何从命名空间内访问不包含在命名空间内的类?