php remove - Qu'est-ce que SAPI et quand l'utiliseriez-vous?




html tags (5)

J'ai appris la gestion des erreurs en PHP récemment et suis tombé sur la fonction error_log() .

Dans le manuel PHP, il parle de tous les types de journaux d'erreurs et je les comprends tous, à l'exception du type 3, qui indique que le message d'erreur est envoyé directement au gestionnaire de journalisation SAPI. Ma question est la suivante: qu'est-ce que SAPI et quand voudriez-vous l'utiliser?


Answers

De Wikipedia :

En d'autres termes, SAPI est en réalité une interface de programmation d'application (API) fournie par le serveur Web pour aider les autres développeurs à étendre les fonctionnalités du serveur Web.

Par exemple, PHP a une interface de module directe appelée SAPI pour différents serveurs Web; sous PHP 5 et Apache 2.0 sous Windows, il est fourni sous la forme d’un fichier DLL appelé php5apache2.dll, module qui, entre autres fonctions, fournit une interface entre PHP et le serveur Web, implémentée sous une forme le serveur comprend. Ce formulaire est ce qu'on appelle un SAPI.

Il existe différents types de SAPI pour différentes extensions de serveur Web. Par exemple, deux autres SAPI pour le langage PHP sont Common Gateway Interface (CGI) et Interface de ligne de commande (CLI).


SAPI signifie "API du serveur". C'est le mécanisme qui contrôle l'interaction entre le "monde extérieur" et le moteur PHP / Zend. Donc, vous voudrez toujours l'utiliser. En fait, vous ne pouvez pas éviter de l'utiliser sans beaucoup d'efforts, car même le CLI est considéré comme un SAPI.


Pour PHP, les SAPI disponibles sont: Apache2 (mod_php), FPM, CGI, FastCGI et CLI.

Peut être contesté si l'API s'exécute sur le serveur, il peut s'appeler SAPI.

Permettez-moi de rappeler que FPM (FastCGI Process Manager) est très proche de la mise en œuvre de PHP FastCGI avec quelques fonctionnalités supplémentaires (principalement) utiles pour les sites très chargés.

Aujourd'hui, du point de vue de la rapidité et de l'efficacité, FPM serait le SAPI le plus évolué. Apache ou Nginx comparera mieux les autres SAPI mentionnés.


SAPI (interface de programmation d'application serveur) est également appelé ISAPI (interface de programmation d'application serveur Internet) pour Microsoft, NSAPI (interface de programmation d'application serveur Netscape) pour Netscape.

Signification de l' API .

Pour les développeurs Web, vous pouvez penser à des API telles que REST, SOAP. Vous appelez un lien, vous obtenez une donnée du serveur. Il vous permet d'interagir avec le serveur Web.

SAPI est différent avec REST ou SOAP, SAPI est une API (contrat) utilisée pour le serveur.

Par exemple: Common Gateway Interface est une SAPI. Si un serveur Web prend en charge CGI et un autre programme exécutable, implémentez-le de sorte que le serveur Web puisse interfacer et générer des pages Web de manière dynamique.

Regardez l'image ci-dessous:

mod_php implémente une interface que apache et php peuvent se comprendre.

Alors, qu'est-ce que SAPI exactement ? C'est un contrat entre Server (tout type de serveur) et le programme. Il suffit de suivre le contrat et ils n'ont pas besoin de connaître d'autres détails de la page.


stClass est une classe vide créée par php elle-même, et ne devrait être utilisée que par php, car ce n'est pas une classe "vide", php utilise stdClass pour convertir des tableaux en style objet si vous avez besoin d'utiliser stdClass. : 1- utiliser les tableaux (beaucoup plus vite que les classes) 2- créer votre propre classe vide et l'utiliser

//example 1
$data=array('k1'=>'v1' , 'k2'=>'v2',....);

//example 2
//creating an empty class is faster than instances an stdClass
class data={}
$data=new data();
$data->k1='v1';
$data->k2='v2';

Qu'est-ce qui pousse quelqu'un à penser à l'utilisation du style d'objet au lieu du style de tableau ???





php sapi