Maison > Questions et réponses > le corps du texte
Le code sous le fichier Tool.class.php est :
espace de noms CompanyTool ;
classe Outil{
}
Ma question est de savoir pourquoi si vous utilisez la classe Tool dans d'autres fichiers, vous devez écrire comme ceci : utilisez CompanyToolTool
Je pensais qu'il suffirait d'écrire simplement en utilisant CompanyTool (ce que je comprends signifie que vous pouvez utiliser n'importe quelle classe dans cet espace).
J'espère que tout le monde pourra me le dire, merci.
巴扎黑2017-06-06 09:55:57
C++ a ce que vous voulezusing namespace xxx
.
Pourquoi PHP n'introduit pas directement l'intégralité de l'espace de noms ? Seules les personnes impliquées dans la conception le savent probablement.
Je suppose que la raison est d'éviter d'introduire trop de choses inutiles à la fois. L'introduction par lots n'est pas recommandée dans plusieurs langues.
ringa_lee2017-06-06 09:55:57
Une précision en classe peut améliorer les performances. S'il ne correspond qu'à un certain répertoire, chaque fois qu'une classe est chargée, le compilateur doit toujours accéder au répertoire pour savoir si la classe existe.
Précis pour la classe pour éviter les conflits. Si le même nom de classe existe dans deux répertoires, s'il est précis pour la classe, les conflits peuvent très bien être évités.
Facile à optimiser, C# a les caractéristiques mentionnées par l'affiche, mais C# est directement compilé dans un fichier exécutable, mais Java adopte une approche précise par classe, les deux sont des langages interprétés, et l'avantage en est bénéfique pour l'étape ultérieure L'optimisation de l'interprétation permet de trouver les classes avec précision et réduit la consommation du cache.
PHPz2017-06-06 09:55:57
Vous pouvez utiliser une classe ou un espace de noms
namespace A;
class B
{
public function test() {}
}
Citation
namespace C;
use A;
$b = new A\B();
$b->test();
ou
namespace C;
use A\B;
$b = new B();
$b->test();
Si tu écris comme ça, ça laissera certainement autoload
找不到这个文件。如果是手动载入文件的,从命名空间的理解出发也必须要那样写。而且我觉得提问的那个排版应该是namespace CompanyTool;