首頁  >  文章  >  後端開發  >  php-X系列中關於內建函數的實例詳解

php-X系列中關於內建函數的實例詳解

黄舟
黄舟原創
2017-10-17 09:08:371273瀏覽

PHP-X本身是基於C++11開發,使用cmake進行編譯配置。以下這篇文章主要為大家介紹了關於PHP-X系列教程之內建函數使用的相關資料,文中透過範例程式碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。

前言

本文主要介紹給大家關於PHP-X內建函數的使用,在PHP擴充開發中,會常用到這些內建函數,PHP-X的封裝,使得呼叫這些函數像PHP程式碼一樣簡單。

對php-x不熟悉的朋友們可以看下這篇文章:https://segmentfault.com/a/1190000011111074

#echo

#在擴充功能中需要輸出一些內容,可以使用echo函數。 echo的使用方法與C語言的printf是完全一致的。具體請參考printf相關文章。

  • 在命令列環境(cli),echo會列印螢幕

  • 在php-fpm或apache中,echo會輸出內容到瀏覽器客戶端


PHPX_FUNCTION(cpp_test)
{
 echo("a=%d, b=%f, c=%s.\n", args[0].toInt(), args[1].toFloat(), args[2].toCString());
}

#var_dump

##開發偵錯PHP程式時,經常需要列印一些變數的值。 PHP提供了var_dump函數來列印變數。在PHP-X中也可以使用var_dump,這個函數接受一個Variant物件。


PHPX_FUNCTION(cpp_test)
{
 var_dump(args[0]);
}

include

#包含PHP檔案。

注意:檔案不存在會拋出致命錯誤。正確載入後,此PHP檔案中的程式碼將被執行。可以使用include在擴充中引入PHP程式碼實現的類別和函數。


PHPX_FUNCTION(cpp_test)
{
 include("/data/php/library/Autoloader.php");
}

error

#列印PHP錯誤日誌,相當於PHP的trigger_error函數。此函數與echo很相似,唯一不同的插入了第一個參數,來接受錯誤等級,如E_ERROR或E_WARNING。


PHPX_FUNCTION(cpp_test)
{
 error(E_ERROR, "error: a=%d, b=%f, c=%s.\n", args[0].toInt(), args[1].toFloat(), args[2].toCString());
}

constant

#取得常數的值。此函數可以用來取得define定義的常數以及const定義的類別常數。


PHPX_FUNCTION(cpp_test)
{
 auto a = constant("PHP_VERSION");
 auto b = constant("PDO::VERSION");
}

global

#取得全域變數的值。包含PHP的超全域變數和其他PHP程式碼使用global關鍵字聲明的全域變數。


PHPX_FUNCTION(cpp_test)
{
 //相当于 $_GET
 auto a = global("_GET");
 //相当于 global $config
 auto b = global("config");
}

#總結#

以上是php-X系列中關於內建函數的實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn