Autor | Zpráva | ||
---|---|---|---|
quatzael Profil |
#1 · Zasláno: 1. 4. 2015, 20:53:45
V dokumentaci php.net jsem narazil na tenhle zápis:
$foo = new \stdClass(); Nevíte, prosím, někdo co tam dělá to lomítko? |
||
Keeehi Profil |
quatzael:
Jde o globální namespace. <?php // full name of this class is \Foo class Foo {} <?php namespace myNamespace; // full name of this class is \myNamespace\Bar class Bar { function __construct() { $fooOne = new Foo(); // Failed. Trying to find Foo in myNamespace (\myNamespace\Foo) which does not exist $fooTwo = new \Foo(); // Success. Trying to find Foo in global namespace (\Foo) } } Můžeš si to představit jako složky. Nemůžeš mít 2 stejně pojmenované soubory ve stejné složce. No a jelikož občas chceš mít stejně pojmenované soubory musejí být v různých složkách. Je to jak relativní a absolutní odkazy. Když je to bez lomítka na začátku, tak se to hledá v té složce (namespace) ve které aktuálně jsem. Když to začíná lomítkem, hledá se od kořene. |
||
quatzael Profil |
#3 · Zasláno: 1. 4. 2015, 21:19:24
Keeehi:
Aha, díky za vysvětlení. |
||
Časová prodleva: 10 let
|
0