企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] ## 示例 ### 添加命名空间 方式一: ``` #include <phpcpp.h> 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 <details> <summary>main.cpp</summary> ``` #include <phpcpp.h> 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; } } ``` </details> <br /> <details> <summary>main.php</summary> ``` <?php echo \myNamespace\myFunction1().PHP_EOL; //1 echo \myNamespace\nestedNamespace\myFunction2().PHP_EOL; //2 echo \myNamespace\nestedNamespace\myFunction3().PHP_EOL; //3 ``` </details> <br />