我正在用 C 编写 PHP 扩展,我想将我正在创建的类、函数和变量放在命名空间中。我无法在扩展文档中找到有关命名空间的任何内容。明确地说,我想要相当于
namespace MyNamespace{
class MyClass{
}
}
但在 C 扩展中。更具体地说,我正在寻找 Zend C API 中的函数或宏,它允许我将 PHP 命名空间分配给我用 C 编写的类或函数。这可能吗?
最佳答案
将类放入命名空间非常简单。通常你会用
初始化一个类zend_class_entry ce;
INIT_CLASS_ENTRY(ce, "MyClass", my_class_methods);
将第二行写成
INIT_CLASS_ENTRY(ce, "MyNamespace\\MyClass", my_class_methods);
命名空间不需要包含在方法声明中或 my_class_methods
数组的成员中,以便将它们与类正确匹配。
关于php - 我可以将 PHP 扩展类、函数等放在命名空间中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24687502/