Maison > Article > développement back-end > Introduction détaillée et exemples de constantes magiques PHP, de fonctions magiques et de constantes prédéfinies
1. Constantes magiques
1. __construct()
objet d'instanciation , lorsque __construct et une fonction avec le nom de classe et le nom de fonction existent en même temps, __construct sera appelé et l'autre ne sera pas appelé.
2. __destruct()
Appelé lorsqu'un objet est supprimé ou que l'opération de l'objet se termine
3. >
4. __get()
5. __set() Lors de la définition des attributs d'un objet, si l'attribut existe, la valeur sera attribuée directement s'il n'existe pas, la fonction __set le sera ; être appelé.
6. __toString() Appelé lors de l'impression d'un objet. Comme echo $obj; ou print $obj;
7. __clone() est appelé lors du clonage d'un objet. Par exemple : $t=new Test();$t1=clone $t;
8 __sleep() serialize a été appelé auparavant. Si l'objet est relativement volumineux et que vous souhaitez supprimer quelques éléments avant de le sérialiser, vous pouvez envisager cette fonction.
9. __wakeup() est appelé lors de la désérialisation pour effectuer un travail d'initialisation d'objet.
10. __isset() est appelé lors de la détection de l'existence des attributs d'un objet. Par exemple : isset($c->nom).
11. __unset() est appelé lors de la suppression des propriétés d'un objet. Par exemple : unset($c->name).
12. __set_state() est appelé lorsque var_export est appelé. Utilisez la valeur de retour de __set_state comme valeur de retour de var_export.
13. __autoload() Lors de l'instanciation d'un objet, si la classe correspondante n'existe pas, cette méthode est appelée.
Exemple :
1 est appelé lors de la tentative de lecture d'une propriété qui n'existe pas. __get()
class Test { public function __get($key) { echo $key . " 不存在"; } } $t = new Test(); echo $t->name; 输出:name不存在2,
est appelé lorsque vous essayez d'écrire une valeur dans une propriété qui n'existe pas. __set()
class Test { public function __set($key, $value) { echo '对' . $key . "附值" . $value; } } $t = new Test(); $t->name = "aninggo"; 输出:对name赋值aninggo3,
Cette méthode est appelée lorsque l'on tente d'appeler une méthode qui n'existe pas sur l'objet. __call()
class Test { public function __call($Key, $Args) { echo "您要调用的 {$Key} 方法不存在。你传入的参数是:" . print_r($Args, true); } } $t = new Test(); $t->getName(aning, go); 程序将会输出: 您要调用的 getName 方法不存在。参数是:Array ( [0] => aning [1] => go )4.
est appelée lors de l'impression d'un objet. Cette méthode est similaire à la méthode toString de Java. Cette fonction est rappelée lorsque nous imprimons l'objet directement. __toString()
class Test { public function __toString() { return "打印 Test"; } } $t = new Test(); echo $t;Lors de l'exécution de echo $t;, $t->__toString(); sera appelé, donc le programme affichera : Print Test;5,
Lorsque l'objet est appelé lors du clonage. __clone()
class Test { public function __clone() { echo "我被复制了!"; } } $t = new Test(); $t1 = clone $t; 程序输出:我被复制了!
2. Constantes magiques
__LINE__
Renvoie le numéro de ligne actuel dans le fichier.
2.
__FILE__
Renvoie le chemin complet et le nom du fichier. S'il est utilisé dans un fichier d'inclusion, renvoie le nom du fichier d'inclusion. Depuis PHP 4.0.2, __FILE__ contient toujours un chemin absolu, alors que les versions antérieures contenaient parfois un chemin relatif.
__DIR__
Le répertoire où se trouve le fichier. S'il est utilisé dans un fichier inclus, renvoie le répertoire où se trouve le fichier inclus. C'est équivalent à dirname(__FILE__). Les noms de répertoire n'incluent pas la barre oblique finale, sauf s'il s'agit du répertoire racine. (Nouveau en PHP 5.3.0)
4. __FUNCTION__
Renvoie le nom de la fonction (Nouveau en PHP 4.3.0). Depuis PHP 5, cette constante renvoie le nom de la fonction tel qu'il a été défini (sensible à la casse). En PHP 4, cette valeur est toujours en minuscule.
5. __CLASS__
Renvoie le nom de la classe (récemment ajouté dans PHP 4.3.0). Depuis PHP 5, cette constante renvoie le nom de la classe lors de sa définition (sensible à la casse). En PHP 4, cette valeur est toujours en minuscule.
__TRAIT__
Nom du trait (récemment ajouté dans PHP 5.4.0). Depuis PHP 5.4, cette constante renvoie le nom du trait tel qu'il a été défini (sensible à la casse). Le nom du trait inclut la portée dans laquelle il est déclaré (par exemple FooBar).
7. __METHOD__
Renvoie le nom de la méthode de la classe (récemment ajouté dans PHP 5.0.0). Renvoie le nom de la méthode telle qu'elle a été définie (sensible à la casse). Format : Nom de la classe : Nom de la méthode
__NAMESPACE__
Le nom de l'espace de noms actuel (sensible à la casse). Cette constante est définie au moment de la compilation (nouveau dans PHP 5.3.0)
Constantes prédéfinies.
PHP_VERSION
La version du programme PHP, telle que 4.0.2PHP_OS
Le nom du système d'exploitation qui exécute l'interpréteur PHP, tel que WindowsPHP_SAPI
Utilisé pour déterminer s'il est exécuté à l'aide de la ligne de commande ou du navigateur, si PHP_SAPI=='cli' signifie qu'il est exécuté à partir de la ligne de commande Analyser les problèmes potentiels de grammaire
E_ERROR
Inhabituel mais pas nécessairement au mauvais endroit
E_WARNING
Symboles de changement de système, Windows est (RN), Linux est (/n), Mac est (R), à partir de PHP 4.3.10 et PHP 5.0 Disponible il y a 2 ans E_PARSE
Séparateur de répertoire système, Windows est une barre oblique inverse. (), Linux est une barre oblique (/) E_NOTICE
Séparateur multi-chemins, Windows est une barre oblique inverse (;), Linux est une barre oblique (:) PHP_EOL
Valeur maximale INT, plate-forme 32 bits, le la valeur est 2147483647, disponible depuis PHP 4.4.0 et PHP 5.0.5 DIRECTORY_SEPARATOR
Longueur de mot INT, plateforme 32 bits La valeur est 4 (4 octets), disponible depuis PHP 4.4.0 et PHP 5.0.5PATH_SEPARATOR
4. Fonction de détection de l'environnement d'exécution PHPPHP_INT_MAX
Cette fonction renvoie une description de la chaîne PHP minuscule pour s'interfacer avec le serveur WEB. PHP_INT_SIZE
Renvoie une chaîne minuscule décrivant le type d'interface utilisé par PHP (l'API Serveur, SAPI).
Les valeurs possibles sont répertoriées ci-dessous : php_sapi_name()
aolserver, apache, apache2filter, apache2handler, caudium, cgi (jusqu'à PHP 5.3), cgi-fcgi, cli, continuité, embed, isapi, litespeed, milter, nsapi, phttpd , pi3web, roxen, thttpd, tux et webjames.
On peut donc comprendre que CGI est un SAPI que chaque serveur devrait avoir. Apache possède son propre SAPI et IIS possède également le sien. Mais PHP peut fonctionner sur ces différents serveurs car PHP prend en charge leurs SAPI respectifs.
PHP-CLI : interface de ligne de commande php, php peut fonctionner dans ce mode ou en mode CGI. C'est une sorte de SAPI, qui a des fonctions similaires à CGI.
Si vous souhaitez en savoir plus sur le contenu connexe ou si vous souhaitez mieux maîtriser ces fonctions et constantes, veuillez visiter le site Web PHP chinois :
Tutoriel vidéo PHP
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!