大家如果經常閱讀php
官方手冊的話會發現,在擴充套件那一章裡面的每個擴充套件的介紹的時候,都有一節是predefined constants
預定義常量,這些常量是不需要您在php
裡面進行定義就可以使用的。
比如mysqli
擴充套件的 predefined constants php.net/manual/en/m…
那麼我們必須也在我們hellozapi
擴充套件中也定義幾個常量玩玩啊,其實真的很簡單,不信?那咱們走著看。
回到我們上節介紹的定義專案入口**:
#include
"zapi/zendapi.h"
extern
"c"
}複製**
咱們定義如下幾個常量:(不要太糾結實際意義,哈哈,本身我們的這個擴充套件都是臆想出來的)
hello_zapi_version (int)
hello_zapi_name (string)
hello_debug_mode (bool)
hello_zapi_pi (double)
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"
}複製**
如果您對std::move
感到陌生,您可以閱讀 cpp reference 手冊
std::move 使用者手冊怎麼樣,就這麼幾行,咱們的預定義常量就算定義好了,現在當執行我們
php
指令碼的時候就可以直接使用了。
php code
if (defined("hello_zapi_version"))
echo
"\n";
if (defined("hello_zapi_name"))
echo
"\n";
if (defined("hello_debug_mode")) else
}echo
"\n";
if (defined("hello_zapi_pi"))
// you will get
// 65538
// hello zendapi!
// true
// 3.14
複製**
好了,到這裡我們就把預定義常量就講完了,我沒有騙您吧,真的很簡單,稍作調整讓我們繼續前進!
原文閱讀:聽說每個擴充套件都會定義自己常量,不要擔心我們也行
C 開發 PHP 7 擴充套件之原生常量定義
大家如果經常閱讀php官方手冊的話會發現,在擴充套件那一章裡面的每個擴充套件的介紹的時候,都有一節是predefined constants預定義常量,這些常量是不需要您在php裡面進行定義就可以使用的。比如mysqli擴充套件的 predefined constants php.net manua...
C 開發 PHP 7 擴充套件之原生常量定義
大家如果經常閱讀php官方手冊的話會發現,在擴充套件那一章裡面的每個擴充套件的介紹的時候,都有一節是predefined constants預定義常量,這些常量是不需要您在php裡面進行定義就可以使用的。比如mysqli擴充套件的 predefined constants 那麼我們必須也在我們hel...
C 開發 PHP 7 擴充套件之定義常量
大家如果經常閱讀php官方手冊的話會發現,在擴充套件那一章裡面的每個擴充套件的介紹的時候,都有一節是predefined constants預定義常量,這些常量是不需要您在php裡面進行定義就可以使用的。比如mysqli擴充套件的 predefined constants 那麼我們必須也在我們hel...