Standard kodu PHP dla namespaces.

0

Witam,

Jaki jest standard jezeli chodzi o namespace oraz use? A dokladniej:

class Test {
    public function getTime()
    {
          return \DateTime();
    }
}

Czy:

use DateTime;

class Test {
    public function getTime()
    {
          return DateTime();
    }
}
0

Nie chodzi ci o PSR-4?

https://www.php-fig.org/psr/psr-4/

a co do ukośnika to niektórzy uzywają go do oznaczenia, że chodzi o global namespace.

0

Chodzi mi wlasnie dokladnie o ukoscnik. Np PHPStorm ma opcje Code -> Code cleanup. I on usuwa \DateTime() i ustatwia ja w use. Wydaje mi sie, ze to moze byc zwiazane z PSR, ale nie moge nigdzie tego znalezc. Chce to potwierdzic.

0

PSR-2 mówi:

When present, all use declarations MUST go after the namespace declaration.

... co sugeruje, że use są opcjonalne; PSR-1 oraz PSR-12 nie wspominają o use w tej pozycji.

Personalnie każdą klasę importuję (zwłaszcza że, jak sam zauważyłeś, PhpStorm sugeruje to sam z siebie), lecz sprawa nie jest taka oczywista w przypadku funkcji z biblioteki standardowej: https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/3048 ;-)

0

To ciekawe.
https://www.php.net/manual/en/language.namespaces.faq.php#language.namespaces.faq.globalclass

Ja np. staram się używać ukośnika dla zaznaczenia, że funkcja należy do global namespace, ale importowanie klasy jest pomocne (czytelność).

0

Trudno, zmieniam jezyk programowania. Nie wiem czy dam rade z tym zyc.

0

A mnie wkurza jak widzę gdzieś backslasha. W zespołach zawsze mamy wymóg by wszystko było w use, sam ustawiam storma tak by mi z defaulta wszystko wrzucał do use.

0

Mnie tez to wkurza. Czuje sie tak jak bym przyszedl do pracy i ktos zostawil jakas np pusta butelke po koli i jakies papierki na moim stole? WTF? Sprzatajcie po sobie :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1