Skip to content

Becklyn/rector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Becklyn Rector

This package contains a list of Rector rules that help you up-grading your Symfony-based code base and keeping it deprecation-free.

Installation

Easily get this package via Composer: composer require --dev becklyn/rector

Usage

Add the rules that you want

This bundle uses a default AJAX protocol, that is used in the AjaxResponseBuilder and can be used for your project. The ajax call will always return an error 200, as it shouldn't flood the error tracking (with error 400 AJAX request).

The protocol looks like this:

// rector.php

use Becklyn\Rector\Symfony\ReplaceControllerThisGetWithThisContainerGet;
use Rector\Config\RectorConfig;

return static function (RectorConfig $rectorConfig): void {
    // …
    
    $rectorConfig->rule(ReplaceControllerThisGetWithThisContainerGet::class);
    
    // …
};

Available rules

Becklyn\\Rector\\Symfony\\ReplaceControllerThisGetWithThisContainerGet

Controllers that were trying to access dependencies via $this->get(…) will be refactored to use $this->container->get(…).

Before:

class ExtendingAbstractController extends \Symfony\Bundle\FrameworkBundle\Controller\AbstractController
{
    public function run()
    {
        $this->get(SomeClass::class);
    }

    public function runFaster()
    {
        $service = $this->get(SomeOtherClass::class);
    }

    public function runEvenFaster()
    {
        return $this->get(BestClass::class);
    }
}

After:

class ExtendingAbstractController extends \Symfony\Bundle\FrameworkBundle\Controller\AbstractController
{
    public function run()
    {
        $this->container->get(SomeClass::class);
    }

    public function runFaster()
    {
        $service = $this->container->get(SomeOtherClass::class);
    }

    public function runEvenFaster()
    {
        return $this->container->get(BestClass::class);
    }
}

About

A collection of various refactoring rules for projects that use Rector and mainly Symfony

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages