symfony upgrade fixer • twig gettext extractor • wisdom • centipede • permissions handler • extraload • gravatar • locurro • country list • transliterator
Symfony Upgrade Fixer
Analyzes your Symfony project and tries to make it compatible with the new version of Symfony framework.
Installation
Manual
Local
Download the symfony-upgrade-fixer.phar
file and store it somewhere on your computer.
Global
You can run these commands to easily access symfony-upgrade-fixer
from anywhere on
your system:
$ sudo wget https://github.com/umpirsky/Symfony-Upgrade-Fixer/releases/download/v0.1.6/symfony-upgrade-fixer.phar -O /usr/local/bin/symfony-upgrade-fixer
$ sudo chmod a+x /usr/local/bin/symfony-upgrade-fixer
Then, just run symfony-upgrade-fixer
.
Composer
Local
$ composer require umpirsky/symfony-upgrade-fixer
Global
$ composer global require umpirsky/symfony-upgrade-fixer
Make sure you have ~/.composer/vendor/bin
in your PATH
and
you're good to go:
$ export PATH="$PATH:$HOME/.composer/vendor/bin"
Don't forget to add this line in your .bashrc
file if you want to keep this change after reboot.
Usage
The fix
command tries to fix as much upgrade issues as possible on a given file or directory:
$ symfony-upgrade-fixer fix /path/to/dir
$ symfony-upgrade-fixer fix /path/to/file
The --dry-run
option displays the files that need to be fixed but without actually modifying them:
$ symfony-upgrade-fixer fix /path/to/code --dry-run
The --no-use-reorder
option prevents the fixer from re-ordering USE statements:
$ symfony-upgrade-fixer fix /path/to/code --no-use-reorder
The --fixers
option allows to specify which fixers should be used:
$ symfony-upgrade-fixer fix /path/to/code --fixers=get_request,form_events,property_access
Fixers available
Name | Description |
---|---|
form_configure_options | The method AbstractType::setDefaultOptions(OptionsResolverInterface $resolver) have been renamed to AbstractType::configureOptions(OptionsResolver $resolver). |
form_events | The events PRE_BIND, BIND and POST_BIND were renamed to PRE_SUBMIT, SUBMIT and POST_SUBMIT. |
form_getname_to_getblockprefix | The method FormTypeInterface::getName() was deprecated, you should now implement FormTypeInterface::getBlockPrefix() instead. |
form_option_names | Options precision and virtual was renamed to scale and inherit_data. |
form_parent_type | Returning type instances from FormTypeInterface::getParent() is deprecated, return the fully-qualified class name of the parent type class instead. |
form_type_names | Instead of referencing types by name, you should reference them by their fully-qualified class name (FQCN) instead. |
form_extension_get_extended_type | Instead of referencing extended types by name, you should reference them by their fully-qualified class name (FQCN) instead. |
get_request | The getRequest method of the base controller class was removed, request object is injected in the action method instead. |
inherit_data_aware_iterator | The class VirtualFormAwareIterator was renamed to InheritDataAwareIterator. |
progress_bar | ProgressHelper has been removed in favor of ProgressBar. |
property_access | Renamed PropertyAccess::getPropertyAccessor to PropertyAccess::createPropertyAccessor. |
Real Life Examples
It is tested against few cool Symfony projects:
Contribute
The tool is based on PHP Coding Standards Fixer and the contributing process is very similar. I see no sense in re-doing it so far.
If you want to contribute to README, please don't edit README.md
directly - it is autogenerated. Edit README.tpl
instead and run:
$ symfony-upgrade-fixer readme > README.md