

Indispensable pour les débutants pour apprendre les frameworks en 2017 : explication détaillée des espaces de noms dans le didacticiel du framework Thinkphp5
ThinkPHP est un framework de développement PHP domestique léger, rapide, compatible et simple. L'utilisation de Thinkframework PHP peut grandement simplifier notre processus de développement et gagner du temps. Cet article est destiné au chinois PHP pour aider tout le monde à apprendre un concept très important dans ThinkPHP : espace de noms .
Espace de noms
ThinkPHP adopte la définition de l'espace de noms et le chargement automatique des fichiers de bibliothèque de classe , résolvant efficacement le problème de plusieurs modules et de l'espace de noms du compositeur les conflits entre les bibliothèques de classes sont résolus et un mécanisme de chargement automatique plus efficace pour les bibliothèques de classes est implémenté.
Vous pouvez passer à notre cours de site Web php chinois : Apprenez le didacticiel sur les espaces de noms de programmation PHP du bout des doigts
Notre site Web php chinois des cours vidéo sont également proposés : Tutoriel vidéo Dugu Jiujian (5)_ThinkPHP5
Puisque les fonctions ne sont pas prises en charge dans la Syntaxe PHP Surcharge mécanisme, que se passe-t-il s'il existe deux méthodes portant le même nom dans une application ? Dans le framework Yii, afin d'éviter les problèmes causés par des noms répétés, toutes les classes ont le mot C devant elles, et le concept d'espaces de noms a été introduit dans ThinkPHP. Il y a quelques points qui nécessitent une attention particulière :
a) L'espace de noms est un espace de définition virtuel, pas un véritable répertoire
b) Les délimiteurs de l'espace de noms sont tous des barres obliques inverses
c) L'espace de noms n'est valable que pour les fonctions, les classes et les constantes (constantes définies par const, constantes non définies).
d) Il existe trois méthodes d'accès à l'espace de noms : la méthode d'accès au nom non qualifié ; la méthode d'accès au nom complet ;
Ce qui suit sera expliqué en détail un par un.
1. L'espace de noms n'est valide que pour les fonctions, les classes et les constantes (constantes définies par const, constantes non définies).
Ici nous déclarons deux espaces de noms space1 et space2 , il y a fonction getmsg() avec le même nom, constante a avec le même nom et classe Animal avec le même nom sous les deux espaces de noms Comme ils se trouvent dans des espaces de noms différents, aucune erreur ne se produira. Nous l'ouvrons dans le navigateur et obtenons le résultat suivant : helloworld.
Et si nous essayions de définir deux constantes du même nom en utilisant définir ?
Lors de l'ouverture dans le navigateur, l'erreur suivante est signalée :
L'espace de noms n'est donc valide que pour les fonctions, les classes et les constantes (constantes définies par const, constantes non définies).
2. Espaces de noms à plusieurs niveaux et trois méthodes d'accès
Les espaces de noms space1 et space2 déclarés ci-dessus sont tous deux des espaces de noms à un seul niveau. , un espace de noms sous la forme space1space2space3 est un espace de noms à plusieurs niveaux, et le délimiteur l'est. Trois méthodes d'accès à l'espace de noms sont présentées ci-dessous :
1. Méthode d'accès au nom non qualifié
Lors d'un accès en mode d'accès au nom non qualifié, la fonction sous l'espace de noms actuel est accessible (il en va de même pour les classes et les constantes), donc le résultat de sortie du code ci-dessus est : monde.
2. Méthode d'accès au nom complet
Si vous souhaitez accéder à la méthode getmsg() sous name1space1 dans l'espace de noms name2space2, vous pouvez utilisez l'accès au nom complet (équivalent à l'accès au chemin absolu).
Le résultat du code ci-dessus est donc : bonjour.
3. Méthode d'accès au nom qualifié
La différence entre la méthode d'accès au nom qualifié et la méthode d'accès au nom complet se situe uniquement au niveau devant. Si l'exemple ci-dessus utilise un accès par nom qualifié, remplacez la dernière ligne par : name1space1getmsg();
À ce stade, nous l'ouvrons dans le navigateur et trouvons l'erreur suivante :
Indique que nous ne trouvons pas la fonction getmsg() sous l'espace de noms name2space2name1space1. La raison en est que la méthode d'accès au nom qualifié est équivalente à l'accès au chemin relatif. Nous utilisons la méthode d'accès au nom qualifié dans l'espace de noms actuel pour accéder à : name1space1getmsg(), qui recherchera la fonction getmsg() sous. name1space1 dans l’espace de noms actuel. S’il est introuvable, une erreur sera signalée. Par conséquent, si nous déclarons un autre espace de noms nommé : name2space2name1space1, l'accès ci-dessus peut être exécuté normalement, comme suit :
Le résultat de sortie est : hello-world.
3. Mécanisme d'introduction des éléments d'espace de noms et de classe d'espace
1. Introduction de l'espace de noms
Grâce à l'exemple ci-dessus, nous pouvons voir que si nous voulons utiliser des fonctions, des constantes ou des éléments de classe dans un autre espace de noms dans l'espace de noms actuel, nous devons utiliser un accès pleinement qualifié pour accéder et écrire du code. C'est relativement lourd, donc nous pouvons introduire un espace de noms, puis utiliser un accès par nom qualifié pour simplifier le processus d'accès.
Le résultat de sortie est : bonjour chien
2. Introduire des éléments spatiaux
Semblable à l'introduction d'espaces de noms, utilisez le mot-clé use pour introduire des éléments spatiaux, puis utilisez directement l'accès non qualifié. . Cependant, une classe portant le même nom que la classe introduite ne peut pas exister dans l'espace de noms actuel, sinon une erreur se produira.
Le résultat de sortie est : rhubarbe de chien.
4. Espace public
Si on n'utilise pas le mot-clé namespace pour déclarer un espace de noms, il appartient à l'espace public.
Ici, nous créons deux fichiers php, 1.php et 2.php, 1.espace de noms php est name1space1, 2.php est l'espace public.
1.php :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
2.php :
1 2 3 4 5 6 7 |
|
dans le navigateur Ouvrir 1.php, le résultat de sortie est :
hello
world
123
456
5. L'espace de noms est un espace de définition virtuel, pas une existence réelle Répertoire
Dans thinkphp5.0, l'espace de noms est un espace de définition virtuel, pas un véritable répertoire. C'est juste que lorsque le responsable a déclaré l'espace de noms, le nom de l'espace de noms correspondait délibérément à la structure de répertoire.
Par exemple, nous ouvrons le fichier Index.php sous le dossier application/index/controller, son espace de noms est : appindexcontroller. n'existe pas dans la structure des répertoires.
Alias d'espace de noms
Le framework permet de définir des alias pour les espaces de noms, par exemple :
1 2 3 4 5 |
|
La méthode d'appel d'origine dans le contrôleur est :
1 2 3 4 5 6 7 8 9 |
|
Si nous enregistrons l'alias de l'espace de noms dans le fichier public de l'application comme suit :
1 |
|
Ensuite, le code du contrôleur ci-dessus peut être modifié en :
1 2 3 4 5 6 7 8 9 |
|
相关资料推荐:

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

AI Hentai Generator
Générez AI Hentai gratuitement.

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

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.

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.

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

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.

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

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

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

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