6

Próbuję PHPStorm i mam problem z jego uzupełnieniem kodu. Piszę projekt o strukturze Silex i mam do czynienia z brakiem uzupełnienia kodu przez PHPStorm dla kontenera wtryskowego zależności Silex. Na przykład nie obsługuje kodeków $app['twig']-> ani $app['db']-> ani żadnej innej usługi. Jedynym rozwiązaniem sposób Znalazłem jest coś zrobić jak toPHPStorm, ukończenie kodu indeksów Dilex DI

$db = $app['db']; 
/** @var $db \Doctrine\DBAL\Connection */ 
$db->.... 

A potem PHPStorm zrobi uzupełniania kodu. Usługi są rejestrowane za pomocą interfejsu ServiceProvider. Czy istnieje sposób na wykonanie kodu PHPS w takich przypadkach bez dodatkowych zmiennych i komentarzy?

+0

Tak, jak wiecie, PhpStorm nie może tego jeszcze zrobić, ale żadne inne IDE o tym nie wiedzą. –

+0

Yup. Znalazłem jednak wtyczkę PhpStorm o nazwie "Magicento", która zapewnia ładne funkcje uzupełniania/nawigacji/etc dla projektów opartych na Magento. Idę do testowania wtyczki (obejrzałem tylko filmy o używaniu) i jeśli działa dobrze, istnieje sposób na poszerzenie możliwości realizacji (ale z dodatkowym skrótem) na wiele sposobów. – schyzoo

+3

ArrayAccess jest tym, co mnie irytuje na temat Pryszcza, dlatego napisałem [Props] (https://github.com/mrclay/Props), podstawowy DIC oparty na __get i __call –

Odpowiedz

7

O ile mi wiadomo, to nie jest obecnie możliwe, jednak nie jest obecnie pracują dzieje, aby dodać wsparcie dla ogólnych wzorów fabrycznych, zobacz ten problem na ich emisyjnej-tracker:

http://youtrack.jetbrains.com/issue/WI-6027

Programiści programu PhpStorm przyjmują nowe zapytania do funkcji na swoim trackerze problemów i są dość elastyczni. Więc może złożyć żądanie funkcji

Ponadto, może to być związane z pytaniem: http://youtrack.jetbrains.com/issue/WI-5304

1

Oto plugin dla PHPStorm/IntelliJ IDEA: https://plugins.jetbrains.com/plugin/7809?pr=

Nie próbowałem jeszcze, ale wygląda obiecująco ...

Edit: Właśnie dał jej szybki strzał, a wygląda naprawdę cool i proste w konfiguracji:

  • Zainstaluj wtyczkę poprzez kierownika wtyczki IDE

  • Dodaj następującą zależność:

"require": { 
    "sorien/silex-pimple-dumper": "~1.0" 
} 
  • zarejestrować Provider:

    $ app-> zarejestruj się (nowy Sorien \ Provider \ PimpleDumpProvider());

I gotowe.

Powiązane problemy