C++开发PHP7中怎么定义常量
这篇文章主要介绍“C++开发PHP7中怎么定义常量”,在日常操作中,相信很多人在C++开发PHP7中怎么定义常量问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++开发PHP7中怎么定义常量”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
咱们定义如下几个常量:(不要太纠结实际意义,哈哈,本身我们的这个扩展都是臆想出来的)
HELLO_ZAPI_VERSION (int)
HELLO_ZAPI_NAME (string)
HELLO_DEBUG_MODE (bool)
HELLO_ZAPI_PI (double)
<h5 id="h5_0" box-sizing:inherit;background-color:#ffffff;-webkit-tap-highlight-color:transparent;"="">zendAPI 常量描述类简单介绍
在 zendAPI 里面我们使用 zapi::lang::Constant 来描述一个常量的元信息,使用起来很简单,他的构造函数接受两个参数,第一个参数是常量名称,第二个参数是常量的值。例如我们使用下面代码去定义一个 ROOT_DIR 常量, 常量值是 /srv/www。
using zapi::lang::Constant; Constant dirConst("ROOT_DIR", "/srv/www");
zapi::lang::Constant API 手册参考
现在大家学习完背景知识,让我们撸起袖子写长沙网站建设代码吧。
C++ Code
#include "zapi/ZendApi.h" ?using zapi::lang::Constant; extern "C" { ZAPI_DECL_EXPORT void *get_module() { static zapi::lang::Extension hellozapi("hellozapi", "1.0"); ?Constant hellozapiVersionConst("HELLO_ZAPI_VERSION", 0x010002); Constant hellozapiNameConst("HELLO_ZAPI_NAME", "Hello zendAPI!"); Constant helloDebugModeConst("HELLO_DEBUG_MODE", true); Constant helloPiConst("HELLO_ZAPI_PI", 3.14); hellozapi.registerConstant(std::move(hellozapiVersionConst)); hellozapi.registerConstant(std::move(hellozapiNameConst)); hellozapi.registerConstant(std::move(helloDebugModeConst)); hellozapi.registerConstant(std::move(helloPiConst)); return hellozapi;}}
如果您对 std::move 感到陌生,您可以阅读 cpp reference 手册
std::move 用户手册
怎么样,就这么几行,咱们的预定义常量就算定义好了,现在当执行我们 PHP 脚本的时候就可以直接使用了。
PHP Code
if (defined("HELLO_ZAPI_VERSION")) { echo HELLO_ZAPI_VERSION;} echo "\n"; if (defined("HELLO_ZAPI_NAME")) { echo HELLO_ZAPI_NAME;} echo "\n"; if (defined("HELLO_DEBUG_MODE")) { if (HELLO_DEBUG_MODE) { echo "true"; } else { echo "false"; }} echo "\n"; if (defined("HELLO_ZAPI_PI")) { echo HELLO_ZAPI_PI;} // you will get // ?65538 // Hello zendAPI! // true // 3.14
到此,关于“C++开发PHP7中怎么定义常量”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341