国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

C++ 開發(fā) PHP 7 擴展之定義常量

syoya / 2953人閱讀

摘要:比如擴展的那么我們必須也在我們擴展中也定義幾個常量玩玩啊,其實真的很簡單,不信那咱們走著看。好了,到這里我們就把預(yù)定義常量就講完了,我沒有騙您吧,真的很簡單,稍作調(diào)整讓我們繼續(xù)前進原文鏈接開發(fā)擴展之定義常量

大家如果經(jīng)常閱讀 PHP 官方手冊的話會發(fā)現(xiàn),在擴展那一章里面的每個擴展的介紹的時候,都有一節(jié)是 Predefined Constants 預(yù)定義常量,這些常量是不需要您在 PHP 里面進行定義就可以使用的。

比如 Mysqli 擴展的 Predefined Constants http://php.net/manual/en/mysqli.constants.php

那么我們必須也在我們 hellozapi 擴展中也定義幾個常量玩玩啊,其實真的很簡單,不信?那咱們走著看。

回到我們上節(jié)介紹的定義項目入口代碼:

#include "zapi/ZendApi.h"

extern "C" {

ZAPI_DECL_EXPORT void *get_module() 
{
   static zapi::lang::Extension hellozapi("hellozapi", "1.0");
   return hellozapi;
}

}

咱們定義如下幾個常量:(不要太糾結(jié)實際意義,哈哈,本身我們的這個擴展都是臆想出來的)

HELLO_ZAPI_VERSION (int)

HELLO_ZAPI_NAME (string)

HELLO_DEBUG_MODE (bool)

HELLO_ZAPI_PI (double)

zendAPI 常量描述類簡單介紹

zendAPI 里面我們使用 zapi::lang::Constant 來描述一個常量的元信息,使用起來很簡單,他的構(gòu)造函數(shù)接受兩個參數(shù),第一個參數(shù)是常量名稱,第二個參數(shù)是常量的值。例如我們使用下面代碼去定義一個 ROOT_DIR 常量, 常量值是 /srv/www

using zapi::lang::Constant;
Constant dirConst("ROOT_DIR", "/srv/www");

zapi::lang::Constant API 手冊參考

現(xiàn)在大家學(xué)習(xí)完背景知識,讓我們擼起袖子寫代碼吧。

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 用戶手冊

怎么樣,就這么幾行,咱們的預(yù)定義常量就算定義好了,現(xiàn)在當(dāng)執(zhí)行我們 PHP 腳本的時候就可以直接使用了。

PHP Code
if (defined("HELLO_ZAPI_VERSION")) {
    echo HELLO_ZAPI_VERSION;
}
echo "
";
if (defined("HELLO_ZAPI_NAME")) {
    echo HELLO_ZAPI_NAME;
}
echo "
";
if (defined("HELLO_DEBUG_MODE")) {
    if (HELLO_DEBUG_MODE) {
        echo "true";
    } else {
        echo "false";
    }
}
echo "
";
if (defined("HELLO_ZAPI_PI")) {
    echo HELLO_ZAPI_PI;
}
// you will get
// ?65538
// Hello zendAPI!
// true
// 3.14

好了,到這里我們就把預(yù)定義常量就講完了,我沒有騙您吧,真的很簡單,稍作調(diào)整讓我們繼續(xù)前進!

原文鏈接: C++ 開發(fā) PHP 7 擴展之定義常量

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/25962.html

相關(guān)文章

  • C++ 開發(fā) PHP 7 擴展原生常量定義

    摘要:大家如果經(jīng)常閱讀官方手冊的話會發(fā)現(xiàn),在擴展那一章里面的每個擴展的介紹的時候,都有一節(jié)是預(yù)定義常量,這些常量是不需要您在里面進行定義就可以使用的。比如擴展的那么我們必須也在我們擴展中也定義幾個常量玩玩啊,其實真的很簡單,不信那咱們走著看。 大家如果經(jīng)常閱讀 PHP 官方手冊的話會發(fā)現(xiàn),在擴展那一章里面的每個擴展的介紹的時候,都有一節(jié)是 Predefined Constants 預(yù)定義常量...

    zilu 評論0 收藏0
  • C++ 開發(fā) PHP 7 擴展原生函數(shù)定義

    摘要:第一步打開項目下的文件,在文件中輸入我們的函數(shù)的原型聲明代碼。這行代碼注冊一個原型為的函數(shù),當(dāng)這個函數(shù)被執(zhí)行的時候,我們的函數(shù)將被運行時調(diào)用。原文地址開發(fā)擴展之原生函數(shù)定義 在上一篇中我們在hellozapi擴展中我們定義了幾個常量,但是一個有用的擴展,必須得有函數(shù),沒有函數(shù)的擴展啥用沒有,如果您覺得定義函數(shù)很難的話,您又錯了,zendAPI就是為了讓您生活變得美好而生的,而不會讓事情...

    asce1885 評論0 收藏0
  • C++ 開發(fā) PHP 7 擴展模塊入口定義

    摘要:每一個擴展必須有一個描述對象,在中我們類主要的作用主要完成這個功能。表示我們擴展導(dǎo)出符號給其他庫使用。文章使用的編程文檔的引用連接參考手冊參考手冊原文鏈接開發(fā)擴展之模塊入口定義 zendAPI 項目不提供任何底層的功能,只是封裝了 zend engine 提供的功能,對上提供一個易用的編程接口。這篇文章中,我們將介紹 C++ 世界與 C 世界交匯的地方,在這里也是 zendAPI 的接...

    dabai 評論0 收藏0
  • PHP面試常考內(nèi)容面向?qū)ο螅?)

    摘要:繼上一篇面試常考內(nèi)容之面向?qū)ο蟀l(fā)表后,今天更新,需要的可以直接點擊文字進行跳轉(zhuǎn)獲取。析構(gòu)函數(shù),當(dāng)對象被銷毀時調(diào)用。 PHP面試專欄正式起更,每周一、三、五更新,提供最好最優(yōu)質(zhì)的PHP面試內(nèi)容。繼上一篇PHP面試常考內(nèi)容之面向?qū)ο螅?)發(fā)表后,今天更新(2),需要(1)的可以直接點擊文字進行跳轉(zhuǎn)獲取。整個面向?qū)ο笪恼碌慕Y(jié)構(gòu)涉及的內(nèi)容模塊有: 一、面向?qū)ο笈c面向過程有什么區(qū)別?二、面向?qū)?..

    Barry_Ng 評論0 收藏0
  • PHP擴展開發(fā)教程5 - 擴展函數(shù)的參數(shù)類型(1)

    摘要:前面兩節(jié)介紹了如何用編寫常用的擴展函數(shù),擴展類。對怎么使用開發(fā)擴展應(yīng)該已經(jīng)很熟悉了,下面晉級學(xué)習(xí)一下關(guān)于擴展函數(shù)參數(shù)類型方面的內(nèi)容。 PHP擴展是高級PHP程序員必須了解的技能之一,對于一個初入門的PHP擴展開發(fā)者,怎么才能開發(fā)一個成熟的擴展,進入PHP開發(fā)的高級領(lǐng)域呢?本系列開發(fā)教程將手把手帶您從入門進入高級階段。本教程系列在linux下面開發(fā)(推薦使用centos),php版本用的...

    DoINsiSt 評論0 收藏0

發(fā)表評論

0條評論

syoya

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<