如何使用php的“root”命名空间?
2022-08-30 15:16:14
我有一个异常类:
namespace abc;
class AbcException extends Exception {
// blah blah
}
它会产生以下错误:
Class 'abc\Exception' not found ...
问题:
我能做些什么来使它工作?
有用的文件是值得赞赏的。
感谢您阅读我的问题
我有一个异常类:
namespace abc;
class AbcException extends Exception {
// blah blah
}
它会产生以下错误:
Class 'abc\Exception' not found ...
问题:
我能做些什么来使它工作?
有用的文件是值得赞赏的。
感谢您阅读我的问题
我能做些什么来使它工作?
使用前导反斜杠指示全局命名空间:
namespace abc;
class AbcException extends \Exception {
// blah blah
}
有用的文件是值得赞赏的。
在PHP手册中有一整页专门讨论这个问题!
Exception 类被解析为脚本命名空间(PHP 手册),因为它的开头为:
namespace abc;
您可以具体告诉脚本要使用哪个异常,然后:
namespace abc;
use Exception;
class AbcException extends Exception {
// blah blah
}
使用此变体,您可以在文件顶部看到“导入”的类。此外,以后可以更轻松地更改/别名文件中的每个 Exception 类。另请参见 PHP 手册中的名称解析规则。
或者,您可以在指定类名时指定具体的命名空间。根命名空间是 ,因此异常的完全限定类名是:\
\Exception
namespace abc;
class AbcException extends \Exception {
// blah blah
}
这只适用于任何一种情况,但是,它使你的代码更加绑定到具体的类名,如果代码库增长并且你开始重构代码,则可能不需要这些类名。