Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> PhpStorm undefined namespace
nospor
post
Post #1





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Hejka,
uzywam PHPStorm i gdy np. moja klasa implementuje jakis interfejs to daje:

  1. class SomeClass implements Tools\Grid\GridInterface


To wg. PHPStorm Grid nie istnieje a konkretnie zaznacza mi slowo Grid na czerowo i pisze "undefined namespace".
Ale gdy dokladnie to samo wrzuce do use to dla PHPStorm w use juz jest ok

  1. use Tools\Grid\GridInterface;

To juz jest ok. Czyli z jakiegos powodu PHPStorm w implements uzywa innego algorytmu?

To samo jest gdy klasa jest w komentarzu, np w return:

  1. @return Tools\Grid\GridInterface

Tutaj rowniez Grid bedzie na czerwono

Ktos kojarzy o co chodzi i gdzie cos moge zmienic? Nie chce ciagle jednego uzycia klasy wrzucac do Use.

ps: oczywiscie gdy odpale aplikacje to niezaleznie czy jest w use czy od razu w implements to wszystko dziala bez zarzutu









--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Spróbuj ustawić Namespace dla katalogu:

https://confluence.jetbrains.com/display/Ph...ort+in+PhpStorm
Go to the top of the page
+Quote Post
nospor
post
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




bylem juz na tej stronie zanim napisalem. Nic nie pomaga.

To musi byc jakis dziwny problem, skoro dla USE jest wszystko ok, a dla wszystkiego innego nie.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
viking
post
Post #4





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Tylko że use Tools\Grid\GridInterface; wskazuje na prawidłowy zapewne namespace a Tools\Grid\GridInterface na coś w stylu Some\Tools\Grid\GridInterface w zależności od namespace użyty w klasie.


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Dzieki viking, zmienilem na \Tools\Grid\BaseGrid i teraz ten blad zniknal smile.gif
Pojawil sie za to inny "Unnecessary fully qualified name", ktory sugeruje ze dobrze by bylo uzyc USE... zamkniete kolo wink.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
by_ikar
post
Post #6





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


A odpaliłeś taki przykładowy kod żeby sprawdzić czy działa? Z tego co pamiętam jeżeli chce się użyć czegoś z innej przestrzeni, trzeba to poprzedzić \ żeby odwołać się do global scope.
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Odpalalem i dzialalo zarowno bez \ jak i z \. Tylko z Z Phpstorm nie krzyczal bledu, bez \ Phpstorm krzyczal bledem


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
viking
post
Post #8





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Hmm. Trochę niemożliwe. implements odwołuje się relatywnie do namespace więc php powinno wywalić fatal. Fatal error: Interface 'XXX\Abc' not found


--------------------
Go to the top of the page
+Quote Post
kayman
post
Post #9





Grupa: Zarejestrowani
Postów: 556
Pomógł: 40
Dołączył: 20.07.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


http://stackoverflow.com/questions/1895171...code-completion
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No to pewnie dlatego ze w composer.json mam ustawiona sciezke autoload dla Tools wink.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
viking
post
Post #11





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Ale to nic nie zmienia po stronie parsera. Dalej będzie szukał relatywnie.


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #12





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nie wiem jak szuka, wiem natomiast ze niezalaznie czy dam \ czy nie, to parser znajduje to co ma znalezc smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
com
post
Post #13





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


Tego \ w PHPStormie dodawało się od pamiętnych czasów wiec do dziś nic się nie zmieniło ich parser po prostu tak działa, ze jak nie ma na \ to szuka w lokalnym scope, inaczej jest w przypadku use, bo tam wie, że początek to pierwszy poziom biggrin.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 09:52