Voir le code d'une fonction [Résolu]

Signaler
Messages postés
497
Date d'inscription
dimanche 5 octobre 2008
Statut
Membre
Dernière intervention
7 mai 2019
-
Messages postés
497
Date d'inscription
dimanche 5 octobre 2008
Statut
Membre
Dernière intervention
7 mai 2019
-
Bonjour,

Je ne sais pas si c'est possible, mais je souhaiterai voir le code qui se trouve dans une fonction PHP.
Par exemple, au lieu d'utiliser les fonctions "decbin" ou "bindec" pour convertir du décimal en binaire et inversement, je voudrais voir l'intérieur de la fonction pour la reproduire manuscritement.

Je vous remercie d'avance.

Mathieu

2 réponses

Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
12
Bonjour,

Tu sembles chercher les sources d'un interpréteur php.
En voici un : https://github.com/php/php-src
Cet interpréteur est écrit en C. Ça ne risque pas de t'aider beaucoup.

Les fonctions bindec et decbin sont dans math.c


/* {{{ proto int bindec(string binary_number)
Returns the decimal equivalent of the binary number */
PHP_FUNCTION(bindec)
{
zval **arg;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Z", &arg) == FAILURE) {
return;
}
convert_to_string_ex(arg);
if (_php_math_basetozval(*arg, 2, return_value) == FAILURE) {
RETURN_FALSE;
}
}


/* {{{ proto string decbin(int decimal_number)
Returns a string containing a binary representation of the number */
PHP_FUNCTION(decbin)
{
zval **arg;
char *result;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Z", &arg) == FAILURE) {
return;
}
convert_to_long_ex(arg);
result = _php_math_longtobase(*arg, 2);
RETURN_STRING(result, 0);
}

--
Messages postés
497
Date d'inscription
dimanche 5 octobre 2008
Statut
Membre
Dernière intervention
7 mai 2019

Hahah, en effet ça ne m'aide pas beaucoup, je pensais trouver l'algorithme complet en PHP, je ne savais pas que les fonctions étaient codées en C, j'aurais au moins appris cela :)

Merci