Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHPStorm mapowanie nazwy na plik
Forum PHP.pl > Inne > Komputery i oprogramowanie
Pyton_000
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 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 smile.gif

Ktoś coś? Jakieś pomysły?
by_ikar
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ą..
Pyton_000
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+ biggrin.gif No i chciałe sobie ułatwić jakoś pracę z tym
sazian
W takim razie trzeba poprawić ten kod,
polecam lekturę http://forum.php.pl/index.php?showtopic=253659 tongue.gif
r4xz
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 smile.gif
Pyton_000
No właśnie nie mogę tego switch przerobić na tablicę bo już dawno to bym zrobił 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 biggrin.gif Ktoś miał płacone od linijki biggrin.gif
kayman
  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ć smile.gif
Pyton_000
Żeby to było takie trywialne 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
r4xz
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 biggrin.gif
Pyton_000
Na szczęście nie ma potrzeby dokładania. Team jest poooowooooli w trakcie migrowania do SF3
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.