国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Wenn PHP einen Namespace verwendet, warum sollte es sich dann genau auf eine Klasse unter dem Namespace beziehen?
曾經(jīng)蠟筆沒(méi)有小新
曾經(jīng)蠟筆沒(méi)有小新 2017-06-06 09:53:57
0
3
753

Der Code unter der Datei Tool.class.php lautet:

Namespace CompanyTool;

Klasse Werkzeug{

}

Meine Frage ist, warum Sie, wenn Sie die Tool-Klasse in anderen Dateien verwenden, so schreiben müssen: use CompanyToolTool

Ich dachte, es würde ausreichen, einfach CompanyTool zu verwenden (was meines Wissens bedeutet, dass Sie jede Klasse in diesem Bereich verwenden k?nnen).
Ich hoffe, jeder kann es mir sagen, danke.

曾經(jīng)蠟筆沒(méi)有小新
曾經(jīng)蠟筆沒(méi)有小新

Antworte allen(3)
巴扎黑

C++就有你想要的using namespace xxx。

為啥PHP不直接引入整個(gè)命名空間,這大概參與設(shè)計(jì)的人才知道了。

我猜原因是避免一次引入過(guò)多不需要的東西,批量引入在各種語(yǔ)言中都是不推薦的。

左手右手慢動(dòng)作
  1. 精確到類(lèi)可以提高性能。若只是精確到某個(gè)目錄,每次加載類(lèi)的時(shí)候,編譯器仍然需要去目錄中尋找該類(lèi)是否存在。

  2. 精確到類(lèi)可以避免沖突,若2個(gè)目錄存在相同的類(lèi)名,若精確到類(lèi),則很好的對(duì)沖突進(jìn)行避免。

  3. 易于優(yōu)化,C#擁有樓主所說(shuō)的特性,但是C#是直接編譯成可執(zhí)行文件,但是java則采取的是精確到類(lèi)的做法,同為解釋型語(yǔ)言,這樣做的好處是有利于后期的解釋優(yōu)化,讓類(lèi)能精準(zhǔn)的被找到,減少緩存的消耗。

PHPzhong

可以 use 一個(gè)類(lèi),也可以 use 一個(gè)命名空間

namespace A;
class B
{
    public function test() {}
}

引用

namespace C;
use A;
$b = new A\B();
$b->test();

或者

namespace C;
use A\B;
$b = new B();
$b->test();

要是你那樣寫(xiě),勢(shì)必會(huì)讓autoload找不到這個(gè)文件。如果是手動(dòng)載入文件的,從命名空間的理解出發(fā)也必須要那樣寫(xiě)。而且我覺(jué)得提問(wèn)的那個(gè)排版應(yīng)該是namespace Company\Tool;

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage