PHP-Namespace
nefu_wangxun
nefu_wangxun 2022-04-22 19:11:17
0
5
1089

Frage: Warum muss ich die entsprechenden Dateien manuell in denselben Namespace importieren, wenn ich die Datei ausführe, nachdem der Namespace deklariert wurde? Beispiel: Ich habe drei separate Klassendateien im selben Ordner, die nicht miteinander in Konflikt stehen. Die drei Klassendateien sind alle im selben Namespace deklariert, aber wenn ich die Datei ausführe, die Klasse 1 entspricht, wenn Klasse 2 verwendet wird. Schwerwiegender Fehler: Klasse 2 nicht gefunden

Vielen Dank

nefu_wangxun
nefu_wangxun

Antworte allen(1)
autoload

引入自动加载

  • Antwort 谢谢,这确实是一种解决方式。其实我更想了解的是:既然分散在不同文件中的类已经被定义在相同的命名空间下,为什么还要再引入自动加载呢?同一命名空间下的类不应该是直接相互可见的吗?如果还要引入自动加载,命名空间的意义又在哪呢?
    nefu_wangxun Autor 2022-04-24 10:05:18
  • Antwort 全国比如都设有连锁超市n家,并不代表n家连锁超市数据都共通,你需要设立一家总公司,总公司把所有数据都所有省的数据加载到一块,每次单独一家省内的连锁超市想要访问省内的数据,只需要到总公司相应的省内数据库中即可一览无余
    autoload Autor 2022-04-25 09:22:12
  • Antwort 谢谢你的再次回复。确实向你所说的那样。命名空间的意义可能更是为了强调文件的逻辑结构,便于区分和更好的管理文件。就像总公司数据库可以更好的管理多个分公司的数据一样,但是 分公司1 要想知道 分公司2 的数据信息,还是要到总公司里去调用的。这就像同一命名空间下的不同文件相互使用时仍要再导入一样。但此时你可以清晰的知道要到可能很庞大的文件系统中的哪个位置去找你需要的文件,就像你清晰的知道要去你所在的总公司数据库去找你需要的分公司的数据信息一样,因为此时你需要的文件就在你所在的命名空间下,你可以清晰的定位目标文件位置。所以命名空间的意义并不一定在于可以实现同一空间下的文件的直接共享与可见,而且思考过后会发现,如果同一命名空间下的文件如果直接可见的话,则意味着运行一个文件时,可能要自动加载该空间下的所有文件,这很耗费资源而且加载的文件多数用不上。命名空间的意义更在于当你需要一个文件时,得益于这一文件结构,可以帮助你快速导入你要的文件,然后你要根据自己的需要导入个别文件。
    nefu_wangxun Autor 2022-04-25 21:28:04
  • Antwort 向你所说 -> 像你所说
    nefu_wangxun Autor 2022-04-25 21:34:09
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage