>  기사  >  백엔드 개발  >  php-X 시리즈에 내장된 기능의 예에 대한 자세한 설명

php-X 시리즈에 내장된 기능의 예에 대한 자세한 설명

黄舟
黄舟원래의
2017-10-17 09:08:371311검색

PHP-X 자체는 C++11을 기반으로 개발되었으며 컴파일 및 구성에 cmake를 사용합니다. 다음 글은 주로 PHP-X 시리즈 튜토리얼에 내장된 기능에 대한 관련 정보를 소개하고 있으며, 필요한 친구들이 참고할 수 있도록 자세히 소개하고 있습니다. 함께.

머리말

이 글에서는 주로 PHP-X 내장 함수의 사용법을 소개합니다. PHP 확장 개발에서는 이러한 내장 함수가 자주 사용됩니다. PHP-X를 캡슐화하면 이러한 함수를 호출하게 됩니다. PHP 코드처럼 쉽습니다.

php-x에 익숙하지 않은 친구는 다음 기사를 읽을 수 있습니다: https://segmentfault.com/a/1190000011111074

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의 Trigger_error 함수와 동일한 PHP 오류 로그를 인쇄합니다. 이 함수는 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

상수 값을 가져옵니다. 이 함수는 정의로 정의된 상수와 const로 정의된 클래스 상수를 얻는 데 사용할 수 있습니다.


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

global

전역 변수의 값을 가져옵니다. PHP 수퍼전역 변수와 global 키워드를 사용하여 다른 PHP 코드에서 선언된 전역 변수를 포함합니다.


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

요약

위 내용은 php-X 시리즈에 내장된 기능의 예에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.