php-cpp C++开发扩展

最后更新于:2022-04-02 02:32:53

[TOC] > [php-cpp home](http://www.php-cpp.com/documentation/loading-extensions) ## 概述 ### 特性 * 很快 用C++编写的代码很快:比用PHP编写的代码快得多。 * 简单 用C++编写的算法看起来几乎与用PHP编写的算法相同。 * 无需Zend引擎知识 * 完善的文档 * 支持所有重要的PHP功能 使用PHP-CPP,你可以像使用普通的PHP脚本一样轻松地处理变量、数组、函数、对象、类、接口、异常和命名空间。除此之外,你还可以使用C++的所有功能,包括线程,lambdas和异步编程。 * 免费的 ### 支持php 低版本 [php-cpp-legacy](https://github.com/CopernicaMarketingSoftware/PHP-CPP-LEGACY) 支持php5.6 旧版本 [php-cpp](https://github.com/CopernicaMarketingSoftware/PHP-CPP) 仅支持php7 HP-CPP和PHP-CPP-LEGACY库具有(几乎)相同的API,因此您可以轻松地将PHP 5.*的扩展移植到PHP 7,反之亦然 ## hello word ``` // 声明无参函数 Php::Value hello_world() { return "hello world!"; } // 添加到扩展 extension.add("hello_world", hello_world); ``` ``` // 声明有参函数 Php::Value my_plus(Php::Parameters ¶ms) { return params[0] + params[1]; } // 添加到扩展 extension.add("my_plus", my_plus, { Php::ByVal("a", Php::numericType), Php::ByVal("b", Php::numericType) }); ``` ``` Php::Value get_complex_array() { Php::Value r; r["a"] = 123; r["b"] = 456; r["c"][0] = "nested value"; r["c"][1] = "example"; return r; } function get_complex_array() { return array( "a" => 123, "b" => 456, "c" => array("nested_value","example") ); } ``` ## 技巧
';