| 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: 11 let
|
|||
0