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.
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.
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.
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
找不到這個(gè)文件。如果是手動(dòng)載入文件的,從命名空間的理解出發(fā)也必須要那樣寫。而且我覺得提問的那個(gè)排版應(yīng)該是namespace CompanyTool;