Autor Zpráva
quatzael
Profil
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
Keeehi:
Aha, díky za vysvětlení.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0