Ask*_*õmm 18 php mysqli namespaces
MySQLi在没有命名空间和类外的类中工作正常.
我最近开始使用命名空间,现在我偶然发现了类似于以下内容的代码:
namespace Project;
class ProjectClass{
public static function ProjectClassFunction{
$db = new mysql(data, data, data, data);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,它向我报告了一条消息
"致命错误:未找到类'Project\mysqli'
我的问题是; 如何在使用命名空间的类中使用mysqli?
Pro*_*tic 36
默认情况下,PHP将尝试从当前命名空间加载类.请参阅全局命名空间中的类:
$db = new \mysqli(/* ... */);
Run Code Online (Sandbox Code Playgroud)
这与引用不同命名空间中的类时要做的事情相同:
$foo = new \Some\Namespace\Foo();
Run Code Online (Sandbox Code Playgroud)
请注意,如果您不使用开头的反斜杠,PHP会尝试相对于您当前的命名空间加载该类.以下代码将在命名空间中Project\Some\Namespace查找名为的类Foo:
namespace Project;
$foo = new Some\Namespace\Foo();
Run Code Online (Sandbox Code Playgroud)
或者,您可以显式导入名称空间并保存自己的歧义:
namespace Project;
use Mysqli;
class ProjectClass
{
public static function ProjectClassFunction()
{
$db = new Mysqli(/* ... */);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8636 次 |
| 最近记录: |