Maison >développement back-end >tutoriel php >Comment utiliser use en php (exemple de code)
Comment utiliser use en php (exemple de code)
J'ai étudié le framework php récemment. Je me demande quand je pourrai développer mon propre framework. Bien sûr, c'est pour améliorer mon niveau de programmation, et en même temps, je peux combiner les choses éparses que j'apprends habituellement et les appliquer habilement. Mais lors du développement d'un framework, je ne sais pas par où commencer et quoi développer en premier. Bien qu'il existe de nombreux frameworks PHP, ils concernent tous la façon de les appliquer. Il n'y a pas de documents ou de vidéos sur lesquels apprendre. Cela me rend particulièrement déprimé. Je crois que beaucoup de gens veulent savoir comment l'appliquer. Les amis qui jouent avec les frameworks de développement ont tous des sentiments similaires, alors j'ai décidé de le faire moi-même. C'était aussi difficile que je l'imaginais. était un peu confus depuis le début.
C'est l'utilisation des espaces de noms et l'introduction de l'utilisation. Après avoir lu de nombreux avis sur Internet et lu des documents officiels, le sens est à peu près clair et facile à comprendre. L'espace de noms est facile à dire, il suffit de donner un nom à cet espace, mais l'opération spécifique d'utilisation ne fonctionne pas, et je je n'arrive pas à comprendre. Plus tard, je l'ai soudainement compris après avoir regardé une vidéo d'apprentissage de Yii.
Par exemple, créez trois fichiers.
Le premier fichier A.php contient deux classes et l'espace de noms est abc;
<?php namespace a\b\c; class Apply{ function get_info(){ echo 'this is A Apply'; } } class C{ function info(){ echo 'this is info'; } }
Le deuxième fichier B.php, espace de noms abd;
<?php namespace a\b\d; class Apply{ function get_info(){ echo 'this is B Apply'; } }
Le troisième fichier index.php permet d'utiliser les classes des deux fichiers ci-dessus.
Par exemple, nous voulons instancier une classe en A.php. Comment l'implémenter ?
Incluez d'abord ce fichier require_once('A.php');
Ensuite, utilisez abc;? Ou abcA, je le pensais au début. En fait, c'est faux, l'utilisation devrait être comme ça, l'espace de noms est le nom de la classe que vous souhaitez instancier dans cet espace. Par exemple, si nous voulons instancier la classe Apply dans A.php, alors utiliser abcApply; équivaut à introduire cette classe, puis new Apply(); Si vous souhaitez instancier la classe C, utilisez abcC;
Remarque : use n'est pas égal à require_once ou include Le principe d'utilisation est que le fichier a été inclus dans le fichier actuel.
Au fait, en mode MVC, le nom de la classe et le nom du fichier sont les mêmes, donc lors de l'utilisation, les gens qui ne savent pas penseront que l'utilisation est suivie du nom du fichier, c'est ce que Je pensais avant. En fait, l'utilisation est toujours le nom de la classe.
Certaines personnes peuvent se demander : que dois-je faire si j'ai le même nom de classe dans différents espaces de noms et que je l'utilise dans le même fichier ? Par exemple, notre index.php ci-dessus inclut A.php et B.php, puis new Apply(); signalera une erreur à ce moment-là. La solution consiste à utiliser un alias, par exemple, utilisez abdApply comme b; une fois que nous sommes nouveaux, il ne doit pas être écrit comme new Apply(); mais new b();
Merci à tous d'avoir lu, j'espère que vous en bénéficierez beaucoup.
Tutoriel recommandé : "Tutoriel 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!