


Explication détaillée de la différence entre const et definition en PHP
Disponible lors de la définition de constantes en PHP Qu'est-ce que la différence entre const et définir ?
1. const est utilisé pour définir les variables membres de la classe. Une fois définie, sa valeur ne peut pas être modifiée. définir définit des constantes globales accessibles n'importe où.
2. Définir ne peut pas être défini dans une classe, mais const doit être défini dans une classe et les variables définies par const doivent être accessibles via le nom de la classe :: nom de la variable.
3. Les constantes const ne peuvent pas être définies dans les instructions conditionnelles.
4. const utilise un nom de constante ordinaire (scalaire statique) et définir peut utiliser n'importe quelle expression comme nom.
5. const est toujours sensible à la casse, cependant finish() peut définir des constantes insensibles à la casse via le troisième paramètre.
6. L'utilisation de const est simple et facile à lire. Il s'agit d'une structure de langage en soi, et définir est une méthode. Utiliser const pour définir est beaucoup plus rapide que définir au moment de la compilation.
Si vous définissez des constantes dans une classe, vous ne pouvez pas utiliser Définir, mais utilisez const, comme dans l'exemple suivant :
Recommandé : "Tutoriel PHP"
<?php //在类外面通常这样定义常量 define("PHP","111cn.net"); class MyClass { //常量的值将始终保持不变。在定义和使用常量的时候不需要使用$符号 const constant = 'constant value'; function showConstant() { echo self::constant . "<br>"; } } echo MyClass::constant . "<br>"; $classname = "MyClass"; echo $classname::constant . "<br>"; // PHP 5.3.0之后 $class = new MyClass(); $class->showConstant(); echo $class::constant."<br>"; // PHP 5.3.0之后 //print_r(get_defined_constants()); //可以用get_defined_constants()获取所有定义的常量 ?>
Généralement finish définit les constantes en dehors de la classe, const définit les constantes dans la classe et const doit être accessible via le nom de la classe :: nom de la variable. Cependant, php5.3 et supérieur prennent en charge la définition de constantes en dehors des classes via const. Voir ce qui suit. C'est OK :
<?php const a = "abcdef"; echo a; ?>
Concernant la connaissance de base des constantes, je n'entrerai pas dans les détails ici. En plus de ce qui précède, définir et const sont d'autres choses. Différences (tirées d'Internet) :
1.const ne peut pas définir de constantes dans les instructions conditionnelles, mais définir est possible, comme suit :
<?php if(1){ const a = 'java'; } echo a; //必错 ?>
2.const utilise un nom de constante ordinaire, définir peut prendre une expression comme nom
<?phpconst FOO = 'PHP'; for ($i = 0; $i < 32; ++$i) { define('PHP_' . $i, 1 << $i); } ?>
3.const ne peut accepter que des scalaires statiques, tandis que définir peut prendre n'importe quelle expression.
<?php const PHP = 1 << 5; // 错误 define('PHP', 1 << 5); // 正确 ?>
4.const lui-même est une structure de langage. Et définir est une fonction. Utiliser const est donc beaucoup plus rapide.
Les deux ont quelque chose en commun : les deux ne peuvent pas être réaffectés.
Le contenu suivant est extrait du billet de blog de Rotted_Pencil : La différence entre définir des constantes en PHP, definition() et const
Avant-propos
Lire encore une fois sur Stackoverflow aujourd'hui, je suis tombé sur un article très intéressant, alors je l'ai traduit et repris. L'article a été rédigé par NikiC, l'un des membres du développement PHP, et son autorité est sans aucun doute
Texte
En PHP5.3, il existe deux manières de définir des constantes :
1. Utilisez le mot-clé const
2. Utilisez la méthode définir()
const FOO = ‘BAR’; define(‘FOO’,’BAR’);
La différence fondamentale entre les deux méthodes est que const définira une constante lorsque le code est compilé, tandis que définir will Une constante est définie uniquement lorsque le code est en cours d'exécution. Cela entraîne les inconvénients suivants de const :
const ne peut pas être utilisé dans les instructions conditionnelles. Si vous souhaitez définir une variable globale, const doit être au niveau le plus externe de tout le code :
if (...) { const FOO = 'BAR'; // 无效的 } // but if (...) { define('FOO', 'BAR'); // 有效的 }
Vous pouvez demander pourquoi je veux faire cela ? L'un des exemples les plus courants est lorsque vous vérifiez si une constante a été définie :
if (!defined('FOO')) { define('FOO', 'BAR'); }
const ne peut être utilisé que pour déclarer des variables (telles que des nombres, des chaînes ou vrai, faux, nul, FILE), et definition() peut également accepter des expressions. Cependant, après PHP5.6, const peut également accepter des expressions constantes : la dénomination constante de
const BIT_5 = 1 << 5; // 在PHP5.6之后有效,之前无效 define('BIT_5', 1 << 5); // 一直有效
const ne peut utiliser que du texte simple, tandis que définir() vous permet d'utiliser n'importe quelle expression pour la nommer. Cela nous permet de faire ce qui suit :
for ($i = 0; $i < 32; ++$i) { define('BIT_' . $i, 1 << $i); }
les constantes définies par const sont sensibles à la casse, mais définir vous permet de désactiver la sensibilité à la casse en définissant son troisième paramètre sur true :
define('FOO', 'BAR', true); echo FOO; // BAR echo foo; // BAR
Le ci-dessus sont les points auxquels vous devez prêter attention. Alors maintenant, je vais expliquer ce qui suit, pourquoi j'utilise personnellement toujours const lorsque les situations ci-dessus ne sont pas impliquées :
const est plus lisible et plus beau.
const définit les constantes dans l'espace de noms actuel par défaut, et l'utilisation de définir vous oblige à écrire le chemin complet de l'espace de noms entier :
namespace A\B\C; // 如果要定义常量 A\B\C\FOO: const FOO = ‘BAR’; define(‘A\B\C\FOO’, ‘BAR’);
Depuis PHP5.6, les tableaux const peuvent également être définis. une constante. Define ne prend actuellement pas en charge cette fonction, mais cette fonction sera implémentée dans PHP7 :
const FOO = [1, 2, 3]; // 在PHP 5.6中有效 define(‘FOO’, [1, 2, 3]); // 在PHP 5.6无效, 在PHP 7.0有效
Parce que const est exécuté lors de la compilation, il est plus rapide que Define.
Particulièrement lors de l'utilisation de definition pour définir un grand nombre de constantes, PHP fonctionnera très lentement. Les gens ont même inventé des choses comme apc_load_constantshide pour éviter ce problème
Par rapport à set, const peut doubler l'efficacité de la définition des constantes (sur une machine de développement configurée avec XDebug, cette différence sera encore plus grande). Mais en termes de temps de requête, il n'y a pas de différence entre les deux (car les deux utilisent la même table de requête)
La dernière chose à noter est que const peut être utilisé en classe et en interface, tandis que Define est Ceux qui je ne peux pas faire ça :
class Foo { const BAR = 2; // 有效 } class Baz { define('QUX', 2); // 无效 }
Résumé
À moins que vous ayez besoin d'utiliser des expressions ou de définir des constantes dans des instructions conditionnelles, vous feriez mieux d'utiliser const uniquement pour la simple lisibilité du code !
Pour plus de connaissances sur PHP, veuillez visiter le Site Web PHP chinois !
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

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

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds





définir définit une macro multiligne en utilisant `\` pour diviser `do { \ printf("%d\n", x \ } while (0)` en plusieurs lignes pour la définition. Dans une définition de macro, la barre oblique inverse `\` doit être le dernier caractère de la définition de macro et ne peut pas être suivie d'espaces ou de commentaires. Lorsque vous utilisez `\` pour la continuation de ligne, veillez à garder le code lisible et assurez-vous qu'il y a un `\` à la fin de chaque ligne.

L'importance et le rôle de la fonction de définition en PHP 1. Introduction de base à la fonction de définition En PHP, la fonction de définition est une fonction clé utilisée pour définir des constantes. Les constantes ne changeront pas leurs valeurs pendant l'exécution du programme. Les constantes définies à l'aide de la fonction de définition sont accessibles tout au long du script et sont globales. 2. La syntaxe de la fonction de définition La syntaxe de base de la fonction de définition est la suivante : définir("nom constant","valeur constante&qu

Explication détaillée et exemples de code de const en C En langage C, le mot-clé const est utilisé pour définir des constantes, ce qui signifie que la valeur de la variable ne peut pas être modifiée lors de l'exécution du programme. Le mot-clé const peut être utilisé pour modifier les variables, les paramètres de fonction et les valeurs de retour de fonction. Cet article fournira une analyse détaillée de l'utilisation du mot-clé const en langage C et fournira des exemples de code spécifiques. variable const modifiée Lorsque const est utilisé pour modifier une variable, cela signifie que la variable est une variable en lecture seule et ne peut pas être modifiée une fois qu'une valeur lui a été attribuée. Par exemple : constante

La compilation DefineConditional peut être réalisée en utilisant les directives de prétraitement `#ifdef`, `#ifndef`, `#if`, `#elif`, `#else` et `#endif`.

Cet article vous apporte des connaissances pertinentes sur JavaScript. Il vous présente principalement les différences entre var, let et const, ainsi que la relation entre ECMAScript et JavaScript. Les amis intéressés peuvent y jeter un œil.

const est un mot-clé qui peut être utilisé pour déclarer des constantes, des modificateurs const dans les paramètres de fonction, des valeurs de retour de fonction modifiées const et des pointeurs modifiés const. Introduction détaillée : 1. Déclarer des constantes. Le mot-clé const peut être utilisé pour déclarer des constantes. La valeur de la constante ne peut pas être modifiée pendant l'exécution du programme. La constante peut être un type de données de base, tel que des entiers, des nombres à virgule flottante. caractères, etc., ou un type de données personnalisé ; 2. Le modificateur const dans les paramètres de la fonction. Le mot-clé const peut être utilisé dans les paramètres de la fonction, indiquant que le paramètre ne peut pas être modifié à l'intérieur de la fonction, etc.

La sortie et l’entrée audio nécessitent des pilotes et services spécifiques pour fonctionner comme prévu sous Windows 11. Ceux-ci finissent parfois par rencontrer des erreurs en arrière-plan, provoquant des problèmes audio comme l'absence de sortie audio, des périphériques audio manquants, un son déformé, etc. Comment réparer le service audio qui ne répond pas sous Windows 11 Nous vous recommandons de commencer par les correctifs mentionnés ci-dessous et de parcourir la liste jusqu'à ce que vous parveniez à résoudre votre problème. Le service audio peut ne plus répondre pour un certain nombre de raisons sous Windows 11. Cette liste vous aidera à vérifier et à résoudre la plupart des problèmes qui empêchent les services audio de répondre sous Windows 11. Veuillez suivre les sections pertinentes ci-dessous pour vous aider tout au long du processus. Méthode 1 : Redémarrez le service audio Vous pouvez rencontrer.

Pour les programmeurs C++, les erreurs de syntaxe sont l’un des problèmes les plus courants. L'une des erreurs courantes est que les objets const doivent être initialisés au moment de la définition. Si vous rencontrez cette situation, comment devez-vous y faire face ? Tout d’abord, nous devons comprendre ce qu’est un objet const. Le mot-clé const est un qualificatif de type spécial en C++ qui spécifie que la valeur d'une variable ne peut pas être modifiée lors de l'exécution du programme. Ces variables sont appelées « constantes ». Si vous définissez un objet const sans l'initialiser, vous rencontrerez l'erreur ci-dessus. C'est
