Even more automation to help developers maintain and modernize their Laravel projects on a daily basis.
Shift's primary focus is upgrading Laravel. But you may only run Shift every six months. That leaves a big window of time for your project to fall behind.
You may run Shifts like the Laravel Fixer, but maybe don't need all of its automation. Sometimes you may want to simply cherry pick a few of the changes and apply them to an existing Laravel project you've inherited.
You may also manage a few Laravel projects. Sometimes you want to normalize their Laravel conventions or code style. Or manage their Composer dependencies.
Well, that's exactly what the Shift Workbench is for. Using the Shift Workbench you can create custom builds from a growing set of tasks and quickly run them on multiple projects to help maintain and modernize your Laravel applications.
Here are the tasks currently available with the Shift Workbench:
Apply the Laravel code style or custom rules to your codebase.
Convert your code to use PHP's short array syntax.
Convert class references from strings to static class constants.
Convert switch statements to match expressions.
Convert simple constructors to use the property promotion.
Convert null checks to use the nullsafe operator.
Correct the order of optional parameters for PHP 8.
Convert uses of create_function to anonymous functions.
Adopt the string functions available in PHP 8.
Adopt the array functions available in PHP 7.3.
Convert closures to arrow functions.
Adopt null coalesce operators.
Convert the deprecated each function.
Adopt common array destructuring.
Replace Facade references using the global namespace with their FQCN.
Convert common Facade chains to helper functions.
Remove unnecessary table name properties from models.
Remove unnecessary columns from the dates property in models.
Convert the deprecated dates property in models.
Streamline query builder order methods
Convert string based validation rules into arrays.
Update the constraints to be compatible with a specific version of Laravel for your package dependencies.
Separate a generic model factory into individual model factories.
Upgrade your Laravel Mix dependencies and configuration to version 6.
Leverage the injected request object in Controllers and Middleware.
Remove unnecessary references by autoloading your application commands.
Convert response and redirect calls to use Laravel's expressive method chains.
Convert routes options using the old, array syntax.
Streamline outdated HTML and Blade directives.
Convert old array and string helpers into their modern class-based methods.
Convert inline controller validation into Form Request objects.
Convert calls to the env helper within your application to use the config helper with a new custom configuration file.
Register routes using static class references instead of strings
Convert your route controller actions from strings to array "tuples".
Convert model factories to namespaced, class based factories.
Add or update the package constraints to your Composer dependencies.
Remove a package from your Composer dependencies.
Update the constraints to be compatible with a specific version of Laravel for your project dependencies.
Sign in with any of the following services to connect Shift with your Laravel project.
Don't use one of these services?
Temporarily push your project to a free, private repository on one of these cloud-based services or upgrade your project locally with Shift for Docker.