Maison développement back-end tutoriel php Un regard direct sur les différences entre static, const et Defined en PHP

Un regard direct sur les différences entre static, const et Defined en PHP

Aug 12, 2020 pm 05:19 PM
const define php static

Un regard direct sur les différences entre static, const et Defined en PHP

définir la section :
Les macros ne peuvent pas seulement être utilisées pour remplacer Les valeurs constantes peuvent également être utilisées pour remplacer des expressions ou même des extraits de code. (Les macros sont très puissantes, mais elles sont également sujettes aux erreurs, leurs avantages et inconvénients sont donc assez controversés.)
La syntaxe de la macro est :
#define macro name macro value
en tant que Il est recommandé et courant parmi les programmeurs que les noms de macro utilisent souvent des lettres majuscules.

Recommandations d'apprentissage associées : Programmation php (vidéo)

Avantages de l'utilisation des macros :
1) Rendre le code plus concis et clair
Bien sûr, cela dépend de ce que vous donnez à la macro un nom approprié. De manière générale, les noms de macro doivent avoir une signification claire et intuitive, et il est parfois préférable de les allonger.
2) Maintenance pratique du code
Le traitement des macros est appelé « prétraitement » pendant le processus de compilation. C'est-à-dire qu'avant la compilation formelle, le compilateur doit d'abord remplacer les macros qui apparaissent dans le code par leurs valeurs de macro correspondantes. Ce processus est similaire à la recherche et au remplacement que vous et moi utilisons dans les logiciels de traitement de texte. Par conséquent, lorsque des macros sont utilisées pour exprimer des constantes dans le code, en dernière analyse, des nombres immédiats sont utilisés et le type de cette quantité n'est pas clairement spécifié.
partie const
Le format de la définition de la constante est :
nom de la constante de type de données const = valeur constante ;
La constante définie par const a une donnée type, la définition de constantes de types de données permet au compilateur de vérifier les données et de résoudre les erreurs possibles dans le programme. Une constante doit initialement spécifier une valeur, puis, dans le code suivant, nous ne sommes pas autorisés à modifier la valeur de cette constante.
La différence entre les deux :
Dans l'allocation de l'espace mémoire. Lorsque définir définit une macro, elle n'allouera pas d'espace mémoire. Elle sera remplacée dans la fonction principale lors de la compilation. Il s'agit simplement d'un simple remplacement sans aucune vérification, telle que le type, la structure de l'instruction, etc. est juste un pur placement.Relation,

telle que #define null 0 ; le compilateur remplace toujours null par 0 lorsqu'il rencontre null. Si vous avez des questions, veuillez consulter le prétraitement. fait partie du livre sur le langage C ou consultez MSDN. Et const Les constantes définies ont des types de données Les constantes qui définissent les types de données permettent au compilateur de vérifier les données et de résoudre les erreurs possibles dans le programme. Par conséquent, la différence entre const et definition est que const. -Les constantes définies éliminent l'insécurité entre les programmes.

define définit des constantes globales, accessibles n'importe où. Const est utilisé pour les définitions de variables de membres de classe. Il n'est accessible qu'avec les noms de classe et ne peut pas être modifié si vous le souhaitez. Si vous êtes débutant, il est évident de comprendre. Ne vous impliquez pas trop. PHP5 a ajouté de nombreuses fonctionnalités orientées objet. La pensée orientée objet de PHP5 est plus proche de la pensée orientée objet de Java. Nous décrivons ici les fonctions des mots-clés static et const en PHP5, dans l'espoir d'être utiles aux amis qui apprennent PHP5.


(1) Le mot-clé staticstatic dans une classe décrit qu'un membre est statique. Static peut restreindre l'accès externe car les membres après static appartiennent à la classe et n'appartiennent à aucune instance d'objet, à d'autres classes. ne peut pas y accéder, et il est partagé uniquement avec les instances de la classe, afin que le programme puisse protéger les membres de tout leur cœur. Les variables statiques d'une classe sont très similaires aux variables globales et peuvent être partagées par toutes les instances de la classe. Il en va de même pour les méthodes statiques d'une classe, similaires aux fonctions globales. Les méthodes statiques d'une classe peuvent accéder aux propriétés statiques de la classe. De plus, les membres statiques doivent être accessibles en utilisant self. L'utilisation de ceci provoquera une erreur.


(2) constconst est un mot-clé qui définit une constante, similaire à #define en C. Il peut définir une constante si sa valeur est modifiée dans le programme, une erreur se produira. Donnez un exemple du code ci-dessus :

Le code est le suivant :

<?php 
class Counter 
{ 
private static $count = 0;//定义一个静态属性 
const VERSION = 2.0;//定义一个常量 
//构造函数 
function __construct() 
{ 
self::$count++; 
} 
//析构函数 
function __destruct() 
{ 
self::$count--; 
} 
//定义一个静态的方法 
static function getCount() 
{ 
return self::$count; 
} 
} 
//创建一个实例 
$c = new Counter(); 
//执行打印 
print( Counter::getCount(). "<br>\n" ); //使用直接输入类名来访问静态方法Counter::getCount 
//打印类的版本 
print( "Version useed: " .Counter::VERSION. "<br>\n" ); 
?>
Copier après la connexion

Recommandations associées : Cours vidéo de programmation

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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

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)

Configuration du projet CakePHP Configuration du projet CakePHP Sep 10, 2024 pm 05:25 PM

Dans ce chapitre, nous comprendrons les variables d'environnement, la configuration générale, la configuration de la base de données et la configuration de la messagerie dans CakePHP.

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Date et heure de CakePHP Date et heure de CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

Téléchargement de fichiers CakePHP Téléchargement de fichiers CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

Routage CakePHP Routage CakePHP Sep 10, 2024 pm 05:25 PM

Dans ce chapitre, nous allons apprendre les sujets suivants liés au routage ?

Discuter de CakePHP Discuter de CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

CakePHP créant des validateurs CakePHP créant des validateurs Sep 10, 2024 pm 05:26 PM

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.

See all articles