無料スクリプト配布のPHP.TO   PHPの実用的なtips PHPマニュアル MySQLマニュアル Apacheマニュアル PostgreSQLマニュアル マニュアル検索    

?

PHP ?????????????????? ????????????? ?????????? ????????? ?????PHP ???????

??????

PHP_FUNCTION(hackers_function) {
  /* ????? */
  long number;
  
  /* ?? */
  if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &number) != SUCCESS) {
      return;
  }
  
  /* ??? */
  number *= 2;
  
  /* ??? */
  RETURN_LONG(number);
}

?? PHP_FUNCTION(hackers_function) ?? ??

void zif_hackers_function(INTERNAL_FUNCTION_PARAMETERS)

INTERNAL_FUNCTION_PARAMETERS ????? ????

INTERNAL_FUNCTION_PARAMETERS
? ??
int ht ?????? ZEND_NUM_ARGS()
zval *return_value PHP ????????? ??? IS_NULL ? RETVAL_*, RETURN_*
zval **return_value_ptr PHP ???????????? ??????  
zval *this_ptr ?????$this ??? PHP ??? getThis()
int return_value_used ?????????  

??? PHP_FUNCTION(hackers_function) ????

void zif_hackers_function(int ht, zval* return_value, zval** return_value_ptr, zval* this_ptr, int return_value_used)

this_ptr ??????????????? PHP_METHOD(MyClass, hackersFunction) ?????????

void zim_MyClass_hackersFunction(INTERNAL_FUNCTION_PARAMETERS)

hackers_function ???????zend_parse_parameters API ?????????? ?????????????? ????????? ?? return_value ?null ??? ?PHP ?????? null ???

Hacker ???? zend_parse_parameters ??? type_spec ??????? ?Hacker ? return ??

:

ArrayObject Resource ???

??????
int zend_parse_parameters(int num_args TSRMLS_DC, char *type_spec, ...)
int zend_parse_parameters_ex(int flags, int num_args TSRMLS_DC, char *type_spec, ...)
int zend_parse_parameter(int flags, int arg_num TSRMLS_DC, zval **arg, const char *spec, ...)

:

zend_parse_parameter ? 5.5 ??????zend_parse_parameters_ex ???? ???????? zval ????

:

flags ???????????? ZEND_PARSE_PARAMS_QUIET ? (???)

API ?????C ????????? ?zend_parse_parameters API ???????

a array zval*
A array ? object zval*
b boolean zend_bool
C class zend_class_entry*
d double double
f function zend_fcall_info*, zend_fcall_info_cache*
h array HashTable*
H array ? object HashTable*
l long long
L long (LONG_MAX/LONG_MIN ????) long
o object zval*
O object (? zend_class_entry ) zval*, zend_class_entry*
p string (???) char*, int
r resource zval*
s string char*, int
z mixed zval*
Z mixed zval**

:

? O ? zend_class_entry* zend_parse_parameter ? (?) ???

??
* ? 0 ?
+ ? 1 ?
| ?????
/ ??? SEPARATE_ZVAL_IF_NOT_REF ?
! ????? null ????? 'b''l''d' ? bool*long*double* zend_bool* ????null ?? true ??

:

???????????? README.PARAMETER_PARSING_API ??

Hacker ????????????? return_value ?? RETURN_ ? RETVAL_ ? Z_*_P ???return_value ??????

:

RETURN_ ??????? (??return; ?) RETVAL_ ?return_value ??????

?????????? ???????????



powered by SEO.CUG.NET