Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> PHPStorm mapowanie nazwy na plik
Pyton_000
post
Post #1





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

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


Siemka.

Mam projekt w którym o zgrozo jest mega Switch.
Ten switch na podstawie case includuje plik który nie koniecznie jest zgodny nazwą z tym co jest w case.

Wymyśliłem sobie żeby zrobić jakiś myk że jak zrobię Navigate to filename i podam nazwę z case to że przejdzie mi do pliku odpowiadającego temu case.

Pytanie jak (IMG:style_emoticons/default/biggrin.gif)
Próbowałem szukać czegoś w necie z marnym skutkiem. Może w jakiś sposób zapisując jakieś annotacje idzie coś takiego zrobić. Pluginu sobie nie napiszę bo Java i ja znamy się tylko z widzenia (IMG:style_emoticons/default/smile.gif)

Ktoś coś? Jakieś pomysły?
Go to the top of the page
+Quote Post
by_ikar
post
Post #2





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

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


Nie wiem czy dla PHP'a będzie działać to tak samo jak dla JS'a, ale w przypadku JS'a tworzę dużo doc bloków, aby różnego rodzaju zagnieżdżenia udokumentować, oraz żeby przy jakimś dynamicznym ładowaniu edytor wiedział co może zostać przypisane do zmiennej. Raczej nie wrzuca się do takiej zmiennej różnych powiedzmy funkcji, tylko jednej funkcji która zawiera różne dane. Więc łatwo coś takiego udokumentować. Kwestia tego że w phpdoc coś takiego jest, bo w jsdoc dla modułów takie rzeczy istnieją..
Go to the top of the page
+Quote Post
Pyton_000
post
Post #3





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

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


Raczj chodzi mi że mam takie cudo:

  1. switch ($command) {
  2. default:
  3. case "diary":
  4. include "dashboard/front.php";
  5. break;
  6.  
  7. case "contact_support":
  8. include "help/contact_support.php";
  9. break;
  10.  
  11. case "view_compliance":
  12. include "compliance/compliancetab.php";
  13. break;

i takich case jescze 500+ (IMG:style_emoticons/default/biggrin.gif) No i chciałe sobie ułatwić jakoś pracę z tym
Go to the top of the page
+Quote Post
sazian
post
Post #4





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


W takim razie trzeba poprawić ten kod,
polecam lekturę http://forum.php.pl/index.php?showtopic=253659 (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
r4xz
post
Post #5





Grupa: Zarejestrowani
Postów: 673
Pomógł: 106
Dołączył: 31.12.2008

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


Jedyne co mi przychodzi do głowy to zapisanie tego w tablicy, zawsze krócej:

  1. $commands = [
  2. "diary" => "dashboard/front.php",
  3. // ...
  4. ];


Ale sytuacja wygląda na beznadziejną, takie casy to czyste zło (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Pyton_000
post
Post #6





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

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


No właśnie nie mogę tego switch przerobić na tablicę bo już dawno to bym zrobił (IMG:style_emoticons/default/biggrin.gif) o ile w 70% przypadków zda to egzamin o tyle w pozostałych 30% są ustawiane w case dodatkowe elementy. Nie pytaj po co bo ja też nie wiem (IMG:style_emoticons/default/biggrin.gif) Ktoś miał płacone od linijki (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
kayman
post
Post #7





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

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


  1. $commands = [
  2. "diary" => array("a.php", "b.php", "etc.php"),
  3. // ...
  4. ];


dla tych 30% przypadków

w ogóle wygląda to na jakiś idiot autoloader, warto to chociaż znormalizować (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Pyton_000
post
Post #8





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

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


Żeby to było takie trywialne (IMG:style_emoticons/default/tongue.gif)

Te dziwne uscase to np:

  1. case "placed_contract_new":
  2. if ($cis_enabled == 'Yes' && $edit != 'Yes') {
  3. $task = 'contract';
  4. $action = 'step_cis_form';
  5. } else {
  6. $task = 'contract';
  7. $action = 'stepone';
  8. }
  9. include 'placement/handler.php';
  10. break;


Nie pytaj mnie o to bo to jest relikt z daaawnych lat i to nie ja to spłodziłem.
W sumie zastanowię się nad tą array dla pozostałych bo w sumie będzie to trochę ładniej wyglądało
Go to the top of the page
+Quote Post
r4xz
post
Post #9





Grupa: Zarejestrowani
Postów: 673
Pomógł: 106
Dołączył: 31.12.2008

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


Zrób jak każdy inny który tego dotykał przed Tobą - nie zastanawiaj się jak to napisać lepiej tylko dorzuć 3-5 casów od siebie (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
Pyton_000
post
Post #10





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

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


Na szczęście nie ma potrzeby dokładania. Team jest poooowooooli w trakcie migrowania do SF3
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.12.2025 - 20:11