2016-03-29 33 views
5

wszystkie moje usługi i parametrów z services.yml są przekreślony i dostaję komunikat „Nie powołując skalar zaczynając od«%» znak wskaźnika jest przestarzały od czasu Symfony 3.1 ". Ale używam Symfony 2.6 i nie chcę umieszczać wartości w cudzysłowach, ponieważ nie jest to konieczne dla tej wersji. Stało się tak dopiero po zaktualizowaniu wtyczki Symfony do PhpStorm 2016.1Nie powołując skalar począwszy od znaku „%” wskaźnika jest przestarzała od Symfony 3.1

Co mogę zrobić, aby tego uniknąć? (używanie PhpStorm 10 lub używanie starszej wtyczki nie jest opcją)

Odpowiedz

4

Wspomniane badanie nie jest dostarczane przez PhpStorm 2016.1, ale przez wtyczkę Symfony Plugin.

jak w przypadku każdej innej kontroli, może być łatwo wyłączony po naciśnięciu Alt-Enter* lub kliknąć na żółty żarówki, który pojawia się na początku linii naruszającego następnie wybierz Disable inspection z podmenu Inspection 'Yaml escaped \ in quoted inspection' options.

Można również znaleźć tę kontrolę w oknie Settings/Preference pod Editor ->Inspections ->Symfony ->Twig.


* Używam PhpStorm na OSX i jest to kombinacja klawiszy w domyślnej mapie klawiatury.

+0

nie znajdę to to dobra opcja dla mnie. Używam Symfony 2.6. Dlaczego otrzymuję komunikat o treści w Symfony 3.1? Takiej sytuacji chcę uniknąć. –

+0

Wygląda na to, że wtyczka "Symfony Plugin' nie pozwala określić, z której wersji Symfony się korzysta, a także prawdopodobnie nie próbuje wykryć tego samodzielnie. Możesz spróbować poprosić o tę funkcję na stronie [wtyczki GitHUb] (https://github.com/Haehnchen/idea-php-symfony2-plugin-doc/issues). W każdym razie, Symfony 2.6 to wersja, która przeszła swój [okres utrzymywania] (http://symfony.com/doc/current/contributing/community/releases.html#schedule) (w tym okres * czternastu miesięcy * dla problemów związanych z bezpieczeństwem) . Powinieneś wykonać krok do przodu i przenieść projekt do nowszej wersji. – axiac

+0

Niestety migracja nie jest opcją. Dziękuję za odpowiedzi! –

7

Co należy zrobić, to objąć je podwójnymi cytatami.

Przed:

services: 
    foo.class: 
    class: Foo\Class 
    arguments: 
     - @some.service 
     - %some.parameter% 

Po:

services: 
    foo.class: 
    class: Foo\Class 
    arguments: 
     - "@some.service" 
     - "%some.parameter%" 
+0

Tak, to może rozwiązać mój problem, ale już określiłem, że tego nie chcę ("Nie chcę umieszczać wartości w cudzysłowach"). Oznacza to, że powinienem zmienić kod i nie chcę tego. Ale i tak dziękuję. –

+0

Widzę, masz rację, nie rozumiem, że używasz sf 2.6, przepraszam za to! Nie sądzę, że wtyczka obsługuje wiele wersji sf! :/ –

+0

Poprawną metodą jest ''@ some.service'' z rzeczywistym cytatem! –

1

zaczynając od „%” jest przestarzałe od wersji 2.8;)

New in Symfony 2.8: YAML deprecations

+0

Wiem, ale używam 2.6 :) –

+0

Okey @ taysia09, Z pewnością jest w plugin "Plugin Symfony":/ Powodzenia :) – B2GraphiX

+1

Rzeczywiście wartości skalarne "%" są przestarzałe od wersji 3.1! @ od 2.8 :) http://symfony.com/blog/new-in-symfony-2-8-yaml-deprecations i http://symfony.com/blog/new-in-symfony-3-1 -yaml-deprecations –