Maison >développement back-end >Problème PHP >Quelle est la langue sous-jacente de PHP ?
La couche inférieure de PHP est le langage C, donc si vous souhaitez étudier le code sous-jacent, vous devez maîtriser les connaissances liées au langage C.
PHP lui-même est implémenté en C, donc les fonctions finalement appelées sont également des fonctions C. En fait, vous pouvez penser. de PHP en tant que logiciel développé en C. (Apprentissage recommandé : Tutoriel vidéo PHP)
Le moteur zend de php, comprenant l'analyse lexicale, l'analyse syntaxique, l'AST, etc., nécessite une connaissance des principes de compilation.
Moteur Zend : Implémentation Pure C, qui est la partie centrale de PHP. Il traduit le code PHP (lexical, analyse syntaxique et autres processus de compilation) en traitement d'opcode exécutable et implémente le correspondant. La méthode de traitement implémente les structures de données de base (telles que la table de hachage, oo), l'allocation et la gestion de la mémoire, et fournit les méthodes API correspondantes pour les appels externes. C'est le cœur de tout, et toutes les fonctions périphériques sont implémentées autour de Zend.
Extensions : Tournant autour du moteur Zend, les extensions fournissent divers services de base de manière basée sur des composants. Nos diverses fonctions intégrées communes (telles que les séries de tableaux), nos bibliothèques standard, etc. sont toutes implémentées via des extensions.
Sapi :Le nom complet est Server Application Programming Interface. Sapi permet à PHP d'interagir avec les données périphériques via une série de fonctions de hook très élégantes et réussies pour PHP Design. , via sapi, réussit à découpler et à isoler PHP lui-même des applications de couche supérieure. PHP ne peut plus réfléchir à la manière d'être compatible avec différentes applications, et l'application elle-même peut également implémenter différentes méthodes de traitement en fonction de ses propres caractéristiques.
Certains sapis courants sont :
apache2handler : Il s'agit de la méthode de traitement lors de l'exécution en mode mod_PHP avec Apache comme serveur Web, et c'est aussi maintenant Le plus largement utilisé.
cgi : Il s'agit d'une autre méthode d'interaction directe entre le serveur Web et PHP, qui est le célèbre protocole fastcgi Ces dernières années, fastcgi+PHP a été de plus en plus utilisé, et c'est également le cas. asynchrone. La seule méthode prise en charge par le serveur Web.
cli : Mode d'application appelé par ligne de commande. Application supérieure : Il s'agit du programme PHP que nous écrivons habituellement via différentes méthodes sapi, telles que via des applications Web. , exécutés en tant que scripts sur la ligne de commande, etc.
Application de couche supérieure : Il s'agit du programme PHP que nous écrivons habituellement. Nous pouvons obtenir différents modes d'application via différentes méthodes sapi, telles que l'implémentation d'applications Web via un serveur Web et l'utilisation de Run in script. modes, etc.
Pour plus d'articles techniques liés à PHP, veuillez visiter la colonne Tutoriel graphique PHP pour apprendre !
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!