php appellera la fonction de compilation zend_compile_file() pour compiler. L'implémentation spécifique de cette fonction comprend en fait deux processus principaux : l'analyse lexicale (implémentation Lex) et l'analyse syntaxique (implémentation Yacc). Après avoir exécuté cette fonction : la compilation du script php est terminée. L'entrée de cette fonction est : fichier de script php, et la sortie est op_array pour faire simple
: le processus de compilation consiste à analyser le script en instructions que la machine virtuelle php peut traiter, et op_array est celles-ci. instructions C'est juste un tableau créé (c'est très similaire au code assembleur généré par certains
langages compilés, et c'est aussi une série de commandes).
Ensuite, la machine virtuelle php appellera la fonction zend_execute() pour l'exécuter. L'entrée de cette fonction est l'op_array généré lors de l'étape de compilation ci-dessus, elle analysera chaque commande et la traitera
. Puisqu'il y a environ 150 commandes opérationnelles au total, il doit traiter ces 150 commandes. Une question très intéressante se pose ici : Comment gère-t-il ces 150 commandes
? Tout d'abord, chaque commande dispose d'un processeur correspondant pour le traitement. Par conséquent : la machine virtuelle sera distribuée au processeur correspondant pour un traitement en fonction du type de chaque commande dans op_array.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!