sonata-project / core-bundle jest w wersji 2.3.9, a sonata-project / admin-bundle w wersji 2.3.7, zgodnie z composer showpoleceniem.
Patrick,
Odpowiedzi:
219
Uruchom app/console --version(dla Symfony3:) bin/console --version, powinno dać ci całkiem niezły pomysł. W przypadku mojego losowego projektu wynik jest następujący:
Symfony version 2.2.0-DEV - app/dev/debug
Jeśli nie możesz uzyskać dostępu do konsoli, spróbuj przeczytać symfony/src/Symfony/Component/HttpKernel/Kernel.php, gdzie wersja jest zakodowana na stałe , na przykład:
const VERSION ='2.2.0';
Na wypadek, gdybyś się zastanawiał, consoletworzy instancję Symfony\Bundle\FrameworkBundle\Console\Application. W tym konstruktorze klasy używa Symfony\Component\HttpKernel\Kernel::VERSIONdo zainicjowania konstruktora nadrzędnego.
lub po prostu spójrz na lewy górny róg paska programistów symfony (widoczny tylko w modzie deweloperów)!
zizoujab
To jest dość wysoko na liście Google "jak wykryć wersję symfony", ale mam tylko dostęp FTP do serwera. Jaki plik wskazywałby, która wersja Symfony jest używana?
HMR
@HMR właśnie poprawił odpowiedź, więc obejmuje Twój przypadek. Mam nadzieję, że okaże się to przydatne! :)
Chociaż jest już wiele dobrych odpowiedzi, chciałbym dodać opcję, o której nie wspomniano. Za pomocą polecenia:
php bin/console about
możesz uzyskać wiele szczegółów dotyczących aktualnego projektu. Pierwsza sekcja dotyczy samej Symfony i wygląda następująco:
---------------------------------------------------------------Symfony---------------------------------------------------------------Version4.2.3Endof maintenance 07/2019Endof life 01/2020---------------------------------------------------------------
Uważam, że inne informacje poza numerem wersji są bardzo przydatne.
Istnieją również inne sekcje zawierające szczegółowe informacje o (frameworku) jądra, PHP, środowisku.
Jeśli chcesz dynamicznie wyświetlać swoją wersję Symfony 2 na stronach, na przykład w stopce, możesz to zrobić w ten sposób.
Utwórz usługę:
<?phpnamespaceProject\Bundle\DuBundle\Twig;classSymfonyVersionExtensionextends \Twig_Extension{publicfunction getFunctions(){return array(//this is the name of the function you will use in twignew \Twig_SimpleFunction('symfony_version', array($this,'b')));}publicfunction getName(){//return 'number_employees';return'symfony_version_extension';}publicfunction b(){
$symfony_version = \Symfony\Component\HttpKernel\Kernel::VERSION;return $symfony_version;}}
I możesz to nazwać wszędzie. W kontrolerze zawiń go w JSON lub w przykładowej stopce stron
<p> Built With Symfony {{ symfony_version() }} Version MIT License</p>
Teraz za każdym razem, gdy uruchamiasz aktualizację kompozytora, aby zaktualizować dostawcę, wersja symfony również automatycznie zaktualizuje się w Twoim szablonie. Wiem, że to przesada, ale tak to robię w moich projektach i to działa.
możemy znaleźć wersję symfony używając pliku Kernel.php , ale problem polega na tym, że lokalizacja Kernala zmienia się z wersji na wersję (Better Do File Search in your Project Directory)
composer show
poleceniem.Odpowiedzi:
Uruchom
app/console --version
(dla Symfony3:)bin/console --version
, powinno dać ci całkiem niezły pomysł. W przypadku mojego losowego projektu wynik jest następujący:Jeśli nie możesz uzyskać dostępu do konsoli, spróbuj przeczytać
symfony/src/Symfony/Component/HttpKernel/Kernel.php
, gdzie wersja jest zakodowana na stałe , na przykład:Na wypadek, gdybyś się zastanawiał,
console
tworzy instancjęSymfony\Bundle\FrameworkBundle\Console\Application
. W tym konstruktorze klasy używaSymfony\Component\HttpKernel\Kernel::VERSION
do zainicjowania konstruktora nadrzędnego.źródło
/Symfony/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php
bin/console --version
Innym sposobem jest przyjrzenie się źródłu
Symfony\Component\HttpKernel\Kernel
gdzieconst VERSION
jest zdefiniowane. Przykład na GitHubLokalnie byłoby to zlokalizowane w
vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php
.źródło
Chociaż jest już wiele dobrych odpowiedzi, chciałbym dodać opcję, o której nie wspomniano. Za pomocą polecenia:
możesz uzyskać wiele szczegółów dotyczących aktualnego projektu. Pierwsza sekcja dotyczy samej Symfony i wygląda następująco:
Uważam, że inne informacje poza numerem wersji są bardzo przydatne.
Istnieją również inne sekcje zawierające szczegółowe informacje o (frameworku) jądra, PHP, środowisku.
źródło
Użyj następującego polecenia w swoim terminalu / wierszu polecenia:
To da ci twoją wersję Symfony.
źródło
Jeśli chcesz dynamicznie wyświetlać swoją wersję Symfony 2 na stronach, na przykład w stopce, możesz to zrobić w ten sposób.
Utwórz usługę:
Zarejestruj się w service.yml
I możesz to nazwać wszędzie. W kontrolerze zawiń go w JSON lub w przykładowej stopce stron
Teraz za każdym razem, gdy uruchamiasz aktualizację kompozytora, aby zaktualizować dostawcę, wersja symfony również automatycznie zaktualizuje się w Twoim szablonie. Wiem, że to przesada, ale tak to robię w moich projektach i to działa.
źródło
także możesz sprawdzić wersję symfony i wersje wszystkich innych zainstalowanych pakietów, uruchamiając
lub
aby uzyskać wersje określonych pakietów, takich jak sonata itp.
źródło
możemy znaleźć wersję symfony używając pliku Kernel.php , ale problem polega na tym, że lokalizacja Kernala zmienia się z wersji na wersję (Better Do File Search in your Project Directory)
w symfony 3.0: my_project \ vendor \ symfony \ symfony \ src \ Symfony \ Component \ HttpKernel \ Kernel.php
Sprawdź w kontrolerze / pliku PHP
źródło
jeśli próbujesz z wersją symfony
proszę spróbuj
symfony 2 +
symfony 3+
na przykład
źródło
Z wnętrza projektu Symfony możesz pobrać wartość w PHP w ten sposób:
źródło
jeśli jesteś w app_dev, możesz znaleźć wersję symfony w lewym dolnym rogu strony
źródło
Dla Symfony 3.4
Sprawdź stałą w tym pliku vendor / symfony / http-kernel / Kernel.php
LUB
źródło