Table des matières
Quels sont les avantages de l'utilisation de C pour développer des extensions de PHP?
Comment commencer à utiliser C pour le développement d'extension PHP?
Qu'est-ce que PHP-CPP et comment aide-t-il le développement d'extension PHP?
Puis-je utiliser PHP-CPP pour des projets commerciaux?
Quels sont les défis courants pour le développement d'extension PHP en utilisant C et comment puis-je les surmonter?
Comment déboguer les extensions de PHP écrites en C?
Puis-je utiliser PHP-CPP avec d'autres bibliothèques C?
Comment améliorer les performances des extensions de PHP écrites en C?
Puis-je contribuer du code au projet PHP-CPP?
Où puis-je trouver plus de ressources sur l'utilisation de C pour le développement d'extension PHP?
Maison développement back-end tutoriel php Développer des extensions de PHP avec C et PHP-CPP: avancé

Développer des extensions de PHP avec C et PHP-CPP: avancé

Feb 18, 2025 pm 12:30 PM

Développer des extensions PHP avec C et PHP-CPP: sujets avancés et meilleures pratiques

Points clés

  • Développer des extensions de PHP avec C et PHP-CPP implique des sujets avancés tels que le retour "ce" pointeurs, le retour des pointeurs d'objets complexes, l'exposition des méthodes magiques, le lien entre les appels de fonction des membres et le lancer et la manipulation des exceptions dans PHP. __toString
  • La bibliothèque PHP-CPP est idéale pour les projets qui nécessitent des logiciels, des structures de données ou des algorithmes pour les projets non PHP à l'avenir, ou des projets qui nécessitent l'utilisation d'outils ou de bibliothèques non encore fournies comme extensions PHP. Il fournit également les avantages des performances du code C / C tout en maintenant le code structuré et orienté objet pour une compréhension et une maintenance faciles.
  • La bibliothèque PHP-CPP peut être utilisée pour des projets personnels et commerciaux. Cependant, bien que la bibliothèque elle-même soit gratuite, il peut prendre du temps et des ressources pour apprendre à l'utiliser efficacement et à maintenir les extensions de PHP.
  • Les défis courants du développement d'extension PHP en utilisant C incluent la gestion correcte de la mémoire, la manipulation des erreurs et des exceptions, et l'interface entre PHP et C. Ces défis peuvent être surmontés en ayant un aperçu de PHP et C, en utilisant de bonnes pratiques de programmation et en tirant parti des fonctionnalités et des outils fournis par PHP-CPP.
Dans mon article précédent, j'ai introduit la bibliothèque PHP-CPP qui utilise C (premier et deuxième article) pour créer des extensions PHP. Dans ce dernier article, je démontre l'aspect orienté objet de l'écriture d'extensions de PHP en utilisant une classe complexe pour les opérations plurielles.

Developing PHP Extensions with C   and PHP-CPP: Advanced

Cette introduction n'est pas complète, car l'objectif principal de l'article est davantage sur la démonstration des capacités orientées objet de PHP-CPP que sur les détails de l'implémentation orientée objet.

Dans cet article, nous plongerons davantage dans le développement de la bibliothèque complexe, ajouterons plus de fonctions membres et aborderons certains sujets avancés en écrivant des extensions de PHP orientées objet en utilisant PHP-CPP:

    Renvoyez ce pointeur;
  • Renvoie le pointeur d'objet complexe, c'est-à-dire complexe *;
  • Open
  • MÉTHODE MAGIQUE;
  • APPEL DE LA FONCTION DE LA CHATEUR;
  • Garnir l'exception et le gérer en php __toString
  • Le code source complet de la bibliothèque complexe et les scripts PHP de test se trouvent dans ce référentiel GitHub.
  • Commençons.

PRÉPARATION

L'ensemble du processus de préparation de l'environnement est expliqué dans le premier article.

Renvoyez ce pointeur en c

Comme mentionné dans le deuxième article, nous utilisons des fonctions membres pour effectuer diverses opérations mathématiques sur des nombres complexes. Dans cette démonstration, nous implémenterons quatre de ces fonctions: Add, Sub, Mul et Div. Je vais expliquer les trois premiers en premier. La fonction DIV implique la gestion des exceptions, qui sera discutée plus tard.

Jetons un coup d'œil à la fonction MUL (pour la multiplication). Les fonctions ADD et sous sont à peu près les mêmes.

Remarque: Dans cet article, je n'introduirai pas certains sujets de base abordés auparavant, tels que la modification des fichiers MakeFile et INI, l'enregistrement des fonctions des membres, des classes et des espaces de noms, etc. Veuillez vous référer à la section précédente pour ces contenus.

Le renvoi de ce pointeur de C à PHP est simple. À l'intérieur de cette fonction C, ce pointeur (en tant que type complexe *) peut être renvoyé à PHP en tant que type de valeur PHP ::. La conversion ne perd aucune information d'objet. Il ne nécessite pas non plus de conversion de type explicite.

return le pointeur d'objet complexe

Retourner cela signifie généralement que l'objet lui-même a changé. Mais dans certains cas, nous voulons peut-être retourner un nouvel objet et laisser l'objet "actuel" (objet d'appel) inchangé.

Dans notre classe complexe, nous avons une fonction comme celle-ci qui renvoie le nombre conjugué d'un nombre complexe donné (A BI devient A-BI).

Php::Value add(Php::Parameters &params) {
    Php::Value t = params[0];
    Complex *a = (Complex *) t.implementation();

    r += (double) a->getReal();
    i += (double) a->getImage();

    return this;
}
Copier après la connexion
Copier après la connexion

Le point clé ici est que nous devons utiliser l'objet php :: pour convertir explicitement notre objet complexe * en objet php ::, donc lorsque l'objet est analysé plus tard par le script PHP, les informations de classe sont correctement assurées et conservées Son accessibilité.

Le premier paramètre de cette fonction est le type de classe, dans ce cas trcomplex. J'utilise ce nom parce que j'ai enveloppé cette classe ("complexe") dans un espace de noms séparé ("tr").

Le deuxième paramètre est l'objet à remettre en arrière.

Retourner une nouvelle instance de classe est un peu plus difficile que le simple retour de ce pointeur, mais il est toujours gérable tant que vous lisez la documentation et trouvez la partie correcte. Pour plus d'exemples d'utilisation, vous voudrez peut-être lire cette section dans la documentation officielle PHP-CPP.

Open __Tostring Magic Method

Dans notre classe, il existe une fonction __toString qui imprime les nombres pluriels d'une manière plus lisible, par exemple: 1 2i. Dans mon article précédent, cette fonction n'est pas exposée (ou "enregistrée" dans la terminologie PHP-CPP), mais elle peut toujours être appelée à l'intérieur de PHP. Cependant, pour que cette fonction soit appelée sur l'objet complexe après avoir appliqué certaines opérations mathématiques (par exemple, "echo $ a- & gt; add ($ b) - & gt; sub ($ c)"), nous devons être compilés Il est explicitement enregistré dans l'extension:

Php::Value conjugate() {
    Complex *t = new Complex();

    t->r = r;
    t->i = -i;

    return Php::Object("tr\Complex", t);
}
Copier après la connexion
Copier après la connexion

Le problème que nous avons soumis dans le numéro de référentiel PHP-CPP # 150 explique en détail pourquoi nous devons le faire.

Fonction du membre de la chaîne Appel

Une chose qui doit être mise en œuvre dans cette classe est de pouvoir lier les fonctions des membres afin que nous puissions effectuer le calcul suivant: $ a- & gt; add ($ b) - & gt; sub ($ c). Le résultat devrait toujours être en mesure d'appeler ses fonctions de membre.

Ceci est fait par la méthode ci-dessus, c'est-à-dire, renvoyant ce pointeur à PHP. Cependant, les bibliothèques PHP-CPP plus anciennes ont des erreurs lorsque les objets déréférencés, et si la méthode de liaison est appelée, un "défaut de segment" est créé.

Le problème a été soumis (# 151) et une commission contenant le correctif de code source PHP-CPP a été soumise. Si vous utilisez une ancienne version de la bibliothèque PHP-CPP pour compiler la bibliothèque PHP-CPP et votre propre bibliothèque, veuillez mettre à jour le code source PHP et recompiler et réinstaller la bibliothèque PHP-CPP et votre bibliothèque.

comme expliqué dans le résumé de la soumission:

complex.method("__toString", &Complex::__toString);
Copier après la connexion
Copier après la connexion

Je suis content que mon propre travail de projet puisse aider les bibliothèques que j'utilise à devenir meilleures.

Exception et manipulation dans PHP

Deux autres fonctions dans notre classe complexe peuvent renvoyer des exceptions à PHP pour le traitement: div et phi. Le premier effectue un opération de division, tandis que le second renvoie l'angle du nombre complexe, comme le montre sa représentation alternative, la représentation des coordonnées polaires (R, θ).

Si vous passez un numéro pluriel en tant que paramètre (ou appelant), mais que la pièce et les parties imaginaires sont en fait 0, les deux opérations peuvent échouer. Pour ces deux opérations, nous devons effectuer une gestion des exceptions. N'oubliez pas que nous lançons des exceptions dans le code C, et le script PHP attrapera l'exception et effectuera le traitement nécessaire:

Php::Value add(Php::Parameters &params) {
    Php::Value t = params[0];
    Complex *a = (Complex *) t.implementation();

    r += (double) a->getReal();
    i += (double) a->getImage();

    return this;
}
Copier après la connexion
Copier après la connexion

Dans les scripts PHP, nous attrapons cette exception comme ceci:

Php::Value conjugate() {
    Complex *t = new Complex();

    t->r = r;
    t->i = -i;

    return Php::Object("tr\Complex", t);
}
Copier après la connexion
Copier après la connexion

Le code d'extrait de code ci-dessus affichera la ligne de texte suivante:

complex.method("__toString", &Complex::__toString);
Copier après la connexion
Copier après la connexion

C'est très simple, non? L'exception C construite dans notre extension est transmise à PHP et est correctement capturée. De plus, nous pouvons faire fonctionner des exceptions comme nous gérons des exceptions PHP natives lancées par d'autres codes PHP!

Testez toutes les fonctions

Enfin, nous pouvons compiler et installer l'extension complexe.so pour notre installation PHP via make && sudo make install. Si tout se passe bien, nous pouvons vérifier l'installation de l'extension en émettant la commande suivante dans le terminal:

<code>修复问题#151,链式方法调用无法正常工作……
……因为每个对象的引用计数未正确更新,这导致即使对象已分配给不同的变量,该对象也会被销毁。</code>
Copier après la connexion

Le terminal doit afficher une ligne qui indique "/etc/php5/cli/conf.d/complex.ini", nous pouvons nous assurer que notre extension est installée et prête à être appelée par n'importe quel script PHP.

Remarque: Si nous vérifions le Makefile pour cette extension, nous verrons que nous installons cette extension PHP dans son environnement CLI. Si nous voulons installer cette extension pour qu'Apache puisse le charger, nous modifions la ligne suivante:

Php::Value div(Php::Parameters &params) {
    Php::Value t = params[0];
    Complex *b = (Complex*) t.implementation();

    double t1 = b->mod() * b->mod();

    if (t1 == 0)
        throw Php::Exception("Division by zero");

    double tr = r * (double) (b->getReal()) + i * (double) (b->getImage());
    double ti = i * (double) (b->getReal()) - r * (double) (b->getImage());

    r = tr / t1;
    i = ti / t1;

    return this;
}
Copier après la connexion

Le script PHP de test pour cette extension est le suivant, avec quelques notes:

$a=new tr\Complex(1,2);
$c=new tr\Complex(); //$c实际上是0+0i

try
{
    $res=$a->div($c);
}
catch(Exception $e)
{
    echo "Caught exception: ".$e->getMessage()."\n";
}
}
Copier après la connexion

Tous les scripts de test doivent s'exécuter correctement et l'exception est correctement capturée.

Conclusion

Cela résume ma série de 3 articles sur la construction de cette puissante bibliothèque avec C pour les extensions de PHP. Nous couvrons les bases, les aspects orientés objet et certains sujets avancés dans la programmation orientée objet. Nous avons également aidé PHP-CPP à s'améliorer.

Que pouvons-nous faire d'autre avec PHP-CPP? Je citerai quelques lignes de communication par e-mail que j'ai reçues d'Emiel Bruijntjes (co-auteur de PHP-CPP):

Si vous travaillez sur un projet et que vous avez une ou plusieurs des exigences suivantes, la bibliothèque PHP-CPP est idéale: - Vous travaillez sur des logiciels / structures / algorithmes de données et vous souhaitez vous assurer que votre logiciel peut également être utilisé dans des projets non PHP à l'avenir. - Vous souhaitez utiliser un outil ou une bibliothèque qui n'est pas encore disponible comme extension PHP. - Vous voulez de meilleures performances de votre code C / C (par rapport à PHP), mais vous souhaitez également créer du code structuré et orienté objet pour une compréhension et une maintenance faciles par d'autres développeurs / collègues.

Les possibilités sont énormes: des frameworks (tels que PhalCon), des langages de modèle (tels que Smarty ou Twig), etc.

Veuillez laisser vos commentaires et opinions et dites-nous ce que vous avez fait avec cette bibliothèque!

FAQS sur le développement d'extensions de PHP avec c

Quels sont les avantages de l'utilisation de C pour développer des extensions de PHP?

Il y a de nombreux avantages à développer des extensions de PHP en utilisant C. Tout d'abord, il vous permet de profiter de la puissance et de la flexibilité de C dans votre application PHP. Cela peut améliorer les performances, en particulier dans les tâches à forte intensité de calcul. Deuxièmement, il fournit un moyen de réutiliser le code C existant dans un environnement PHP, ce qui peut économiser beaucoup de temps et d'efforts de développement. Enfin, il vous permet de créer des extensions PHP personnalisées qui étendent les fonctionnalités de PHP et de fournir des fonctionnalités qui ne sont pas disponibles dans la bibliothèque PHP standard.

Comment commencer à utiliser C pour le développement d'extension PHP?

Pour commencer à utiliser C pour le développement d'extension PHP, vous devez avoir une compréhension de base des langages de programmation PHP et C. Vous devez également installer l'environnement de développement PHP et le compilateur C. Après avoir installé ces conditions préalables, vous pouvez commencer à écrire des extensions de PHP dans C. Il existe de nombreuses ressources disponibles en ligne, y compris des tutoriels et un exemple de code pour vous guider à travers ce processus.

Qu'est-ce que PHP-CPP et comment aide-t-il le développement d'extension PHP?

PHP-CPP est une bibliothèque pour développer des extensions de PHP en utilisant C. Il fournit un ensemble de classes et de méthodes C, simplifiant le processus d'écriture des extensions de PHP. Avec PHP-CPP, vous pouvez écrire des extensions de PHP d'une manière plus naturelle et intuitive, en utilisant la syntaxe et les concepts familiers de C. Cela peut rendre le processus de développement plus efficace et réduire les erreurs.

Puis-je utiliser PHP-CPP pour des projets commerciaux?

Oui, PHP-CPP est un logiciel open source qui peut être utilisé dans des projets personnels et commerciaux. Cependant, il est important de comprendre que même si la bibliothèque elle-même est gratuite, vous devrez peut-être investir du temps et des ressources pour apprendre à l'utiliser efficacement et à maintenir vos extensions de PHP.

Quels sont les défis courants pour le développement d'extension PHP en utilisant C et comment puis-je les surmonter?

Certains défis courants dans le développement d'extension PHP en utilisant C incluent la gestion correcte de la mémoire, la manipulation des erreurs et des exceptions, et l'interface entre PHP et C. Ces défis peuvent être surmontés en ayant un aperçu de PHP et C, en utilisant de bonnes pratiques de programmation et en tirant parti des fonctionnalités et des outils fournis par PHP-CPP.

Comment déboguer les extensions de PHP écrites en C?

Les extensions PHP écrites en C peuvent être déboguées à l'aide d'outils de débogage C standard. De plus, PHP-CPP fournit certaines fonctionnalités qui peuvent aider à déboguer, telles que la gestion des exceptions et les rapports d'erreurs.

Puis-je utiliser PHP-CPP avec d'autres bibliothèques C?

Oui, PHP-CPP peut être utilisé avec d'autres bibliothèques C. Cela vous permet de profiter de diverses fonctionnalités C dans les extensions PHP.

Comment améliorer les performances des extensions de PHP écrites en C?

Vous pouvez améliorer les performances des extensions de PHP en utilisant des algorithmes et des structures de données efficaces, en minimisant l'utilisation de la mémoire et en optimisant le code C. De plus, PHP-CPP fournit certaines fonctionnalités qui peuvent aider à améliorer les performances, telles que l'accès direct aux variables et aux fonctions PHP.

Puis-je contribuer du code au projet PHP-CPP?

Oui, le projet PHP-CPP est open source et la contribution de la communauté est la bienvenue. Vous pouvez contribuer votre code en signalant des bogues, en suggérant de nouvelles fonctionnalités ou en soumettant des correctifs.

Où puis-je trouver plus de ressources sur l'utilisation de C pour le développement d'extension PHP?

Il existe de nombreuses ressources disponibles en ligne pour apprendre à utiliser C pour le développement de l'extension PHP. Ces ressources comprennent des tutoriels, un exemple de code, de documentation et des forums. De plus, le site Web PHP-CPP fournit une grande quantité d'informations et de ressources sur l'utilisation de la bibliothèque.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

<🎜>: Grow A Garden - Guide de mutation complet
3 Il y a quelques semaines By DDD
<🎜>: Bubble Gum Simulator Infinity - Comment obtenir et utiliser les clés royales
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Comment déverrouiller le grappin
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Système de fusion, expliqué
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel Java
1668
14
Tutoriel PHP
1273
29
Tutoriel C#
1256
24
Expliquez le hachage de mot de passe sécurisé dans PHP (par exemple, Password_Hash, Password_verify). Pourquoi ne pas utiliser MD5 ou SHA1? Expliquez le hachage de mot de passe sécurisé dans PHP (par exemple, Password_Hash, Password_verify). Pourquoi ne pas utiliser MD5 ou SHA1? Apr 17, 2025 am 12:06 AM

Dans PHP, Password_Hash et Password_verify Les fonctions doivent être utilisées pour implémenter le hachage de mot de passe sécurisé, et MD5 ou SHA1 ne doit pas être utilisé. 1) Password_hash génère un hachage contenant des valeurs de sel pour améliorer la sécurité. 2) Password_verify Vérifiez le mot de passe et assurez-vous la sécurité en comparant les valeurs de hachage. 3) MD5 et SHA1 sont vulnérables et manquent de valeurs de sel, et ne conviennent pas à la sécurité de mot de passe moderne.

PHP: un langage clé pour le développement Web PHP: un langage clé pour le développement Web Apr 13, 2025 am 12:08 AM

PHP est un langage de script largement utilisé du côté du serveur, particulièrement adapté au développement Web. 1.Php peut intégrer HTML, traiter les demandes et réponses HTTP et prend en charge une variété de bases de données. 2.PHP est utilisé pour générer du contenu Web dynamique, des données de formulaire de traitement, des bases de données d'accès, etc., avec un support communautaire solide et des ressources open source. 3. PHP est une langue interprétée, et le processus d'exécution comprend l'analyse lexicale, l'analyse grammaticale, la compilation et l'exécution. 4.PHP peut être combiné avec MySQL pour les applications avancées telles que les systèmes d'enregistrement des utilisateurs. 5. Lors du débogage de PHP, vous pouvez utiliser des fonctions telles que error_reportting () et var_dump (). 6. Optimiser le code PHP pour utiliser les mécanismes de mise en cache, optimiser les requêtes de base de données et utiliser des fonctions intégrées. 7

PHP et Python: comparaison de deux langages de programmation populaires PHP et Python: comparaison de deux langages de programmation populaires Apr 14, 2025 am 12:13 AM

PHP et Python ont chacun leurs propres avantages et choisissent en fonction des exigences du projet. 1.Php convient au développement Web, en particulier pour le développement rapide et la maintenance des sites Web. 2. Python convient à la science des données, à l'apprentissage automatique et à l'intelligence artificielle, avec syntaxe concise et adaptée aux débutants.

PHP en action: Exemples et applications du monde réel PHP en action: Exemples et applications du monde réel Apr 14, 2025 am 12:19 AM

PHP est largement utilisé dans le commerce électronique, les systèmes de gestion de contenu et le développement d'API. 1) E-commerce: Utilisé pour la fonction de panier et le traitement des paiements. 2) Système de gestion du contenu: utilisé pour la génération de contenu dynamique et la gestion des utilisateurs. 3) Développement des API: Utilisé pour le développement de l'API RESTful et la sécurité de l'API. Grâce à l'optimisation des performances et aux meilleures pratiques, l'efficacité et la maintenabilité des applications PHP sont améliorées.

Comment fonctionne la résistance au type PHP, y compris les types scalaires, les types de retour, les types d'union et les types nullables? Comment fonctionne la résistance au type PHP, y compris les types scalaires, les types de retour, les types d'union et les types nullables? Apr 17, 2025 am 12:25 AM

Le type PHP invite à améliorer la qualité et la lisibilité du code. 1) Conseils de type scalaire: Depuis PHP7.0, les types de données de base sont autorisés à être spécifiés dans les paramètres de fonction, tels que INT, Float, etc. 2) Invite de type de retour: Assurez la cohérence du type de valeur de retour de fonction. 3) Invite de type d'union: Depuis PHP8.0, plusieurs types peuvent être spécifiés dans les paramètres de fonction ou les valeurs de retour. 4) Invite de type nullable: permet d'inclure des valeurs nulles et de gérer les fonctions qui peuvent renvoyer les valeurs nulles.

La pertinence durable de PHP: est-elle toujours vivante? La pertinence durable de PHP: est-elle toujours vivante? Apr 14, 2025 am 12:12 AM

PHP est toujours dynamique et occupe toujours une position importante dans le domaine de la programmation moderne. 1) La simplicité de PHP et le soutien communautaire puissant le rendent largement utilisé dans le développement Web; 2) sa flexibilité et sa stabilité le rendent exceptionnelle dans la gestion des formulaires Web, des opérations de base de données et du traitement de fichiers; 3) PHP évolue et optimise constamment, adapté aux débutants et aux développeurs expérimentés.

PHP vs autres langues: une comparaison PHP vs autres langues: une comparaison Apr 13, 2025 am 12:19 AM

PHP convient au développement Web, en particulier dans le développement rapide et le traitement du contenu dynamique, mais n'est pas bon dans les applications de la science des données et de l'entreprise. Par rapport à Python, PHP présente plus d'avantages dans le développement Web, mais n'est pas aussi bon que Python dans le domaine de la science des données; Par rapport à Java, PHP fonctionne moins bien dans les applications au niveau de l'entreprise, mais est plus flexible dans le développement Web; Par rapport à JavaScript, PHP est plus concis dans le développement back-end, mais n'est pas aussi bon que JavaScript dans le développement frontal.

PHP et Python: différents paradigmes expliqués PHP et Python: différents paradigmes expliqués Apr 18, 2025 am 12:26 AM

PHP est principalement la programmation procédurale, mais prend également en charge la programmation orientée objet (POO); Python prend en charge une variété de paradigmes, y compris la POO, la programmation fonctionnelle et procédurale. PHP convient au développement Web, et Python convient à une variété d'applications telles que l'analyse des données et l'apprentissage automatique.

See all articles