命名空间
最后更新于:2022-04-02 02:33:44
[TOC]
## 示例
### 添加命名空间
方式一:
```
#include
Php::Value myFunction()
{
return 1;
}
extern "C" {
PHPCPP_EXPORT void *get_module() {
static Php::Extension extension("my_extension", "1.0");
extension.add("myNamespace\\myFunction", myFunction);
return extension;
}
}
```
```
echo myNamespace\\myFunction(); //1
```
方式二:使用Php::Namespace
Php::Value myFunction1()
{
return 1;
}
Php::Value myFunction2()
{
return 2;
}
Php::Value myFunction3()
{
return 3;
}
extern "C" {
PHPCPP_EXPORT void *get_module() {
static Php::Extension extension("my_extension", "1.0");
// 创建命名空间
Php::Namespace myNamespace("myNamespace");
// 把函数添加到命名空间
myNamespace.add("myFunction1", myFunction1);
// 嵌套的命名空间
Php::Namespace nestedNamespace("nestedNamespace");
nestedNamespace.add("myFunction2", myFunction2);
nestedNamespace.add("myFunction3", myFunction3);
// ...
//将嵌套名称空间添加到第一个名称空间
myNamespace.add(std::move(nestedNamespace));
// 加命名空间添加到扩展中
extension.add(std::move(myNamespace));
return extension;
}
}
```
';