rector/config/set/phalcon40.php
dobryy 28a55c973e
[DX] Add Rule that checks that Rule + value object have same starts (#4202)
Co-authored-by: rector-bot <tomas@getrector.org>
2020-09-12 23:19:08 +02:00

148 lines
10 KiB
PHP

<?php
declare(strict_types=1);
use Rector\Generic\Rector\StaticCall\SwapClassMethodArgumentsRector;
use Rector\Generic\ValueObject\SwapClassMethodArguments;
use Rector\Phalcon\Rector\Assign\FlashWithCssClassesToExtraCallRector;
use Rector\Phalcon\Rector\Assign\NewApplicationToToFactoryWithDefaultContainerRector;
use Rector\Phalcon\Rector\MethodCall\AddRequestToHandleMethodCallRector;
use Rector\Renaming\Rector\ConstFetch\RenameConstantRector;
use Rector\Renaming\Rector\MethodCall\RenameMethodRector;
use Rector\Renaming\Rector\Name\RenameClassRector;
use Rector\Renaming\ValueObject\MethodCallRename;
use function Rector\SymfonyPhpConfig\inline_value_objects;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
# https://docs.phalcon.io/4.0/en/upgrade#general-notes
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
# !!! be careful not to run this twice, since it swaps arguments back and forth
# see https://github.com/rectorphp/rector/issues/2408#issue-534441142
$services->set(SwapClassMethodArgumentsRector::class)
->call('configure', [[
SwapClassMethodArgumentsRector::ARGUMENT_SWAPS => inline_value_objects([
new SwapClassMethodArguments('Phalcon\Model', 'assign', [0, 2, 1]),
]),
]]);
# for class renames is better - https://docs.phalcon.io/4.0/en/upgrade#cheat-sheet
$services->set(RenameClassRector::class)
->call('configure', [[
RenameClassRector::OLD_TO_NEW_CLASSES => [
'Phalcon\Acl\Adapter' => 'Phalcon\Acl\Adapter\AbstractAdapter',
'Phalcon\Acl\Resource' => 'Phalcon\Acl\Component',
'Phalcon\Acl\ResourceInterface' => 'Phalcon\Acl\ComponentInterface',
'Phalcon\Acl\ResourceAware' => 'Phalcon\Acl\ComponentAware',
'Phalcon\Assets\ResourceInterface' => 'Phalcon\Assets\AssetInterface',
'Phalcon\Validation\MessageInterface' => 'Phalcon\Messages\MessageInterface',
'Phalcon\Mvc\Model\MessageInterface' => 'Phalcon\Messages\MessageInterface',
'Phalcon\Annotations\Adapter' => 'Phalcon\Annotations\Adapter\AbstractAdapter',
'Phalcon\Annotations\Factory' => 'Phalcon\Annotations\AnnotationsFactory',
'Phalcon\Application' => 'Phalcon\Application\AbstractApplication',
'Phalcon\Assets\Resource' => 'Phalcon\Assets\Asset',
'Phalcon\Assets\Resource\Css' => 'Phalcon\Assets\Asset\Css',
'Phalcon\Assets\Resource\Js' => 'Phalcon\Assets\Asset\Js',
'Phalcon\Cache\Backend' => 'Phalcon\Cache',
'Phalcon\Cache\Backend\Factory' => 'Phalcon\Cache\AdapterFactory',
'Phalcon\Cache\Backend\Apcu' => 'Phalcon\Cache\Adapter\Apcu',
'Phalcon\Cache\Backend\File' => 'Phalcon\Cache\Adapter\Stream',
'Phalcon\Cache\Backend\Libmemcached' => 'Phalcon\Cache\Adapter\Libmemcached',
'Phalcon\Cache\Backend\Memory' => 'Phalcon\Cache\Adapter\Memory',
'Phalcon\Cache\Backend\Redis' => 'Phalcon\Cache\Adapter\Redis',
'Phalcon\Cache\Exception' => 'Phalcon\Cache\Exception\Exception',
'Phalcon\Config\Factory' => 'Phalcon\Config\ConfigFactory',
'Phalcon\Db' => 'Phalcon\Db\AbstractDb',
'Phalcon\Db\Adapter' => 'Phalcon\Db\Adapter\AbstractAdapter',
'Phalcon\Db\Adapter\Pdo' => 'Phalcon\Db\Adapter\Pdo\AbstractPdo',
'Phalcon\Db\Adapter\Pdo\Factory' => 'Phalcon\Db\Adapter\PdoFactory',
'Phalcon\Dispatcher' => 'Phalcon\Dispatcher\AbstractDispatcher',
'Phalcon\Factory' => 'Phalcon\Factory\AbstractFactory',
'Phalcon\Flash' => 'Phalcon\Flash\AbstractFlash',
'Phalcon\Forms\Element' => 'Phalcon\Forms\Element\AbstractElement',
'Phalcon\Image\Adapter' => 'Phalcon\Image\Adapter\AbstractAdapter',
'Phalcon\Image\Factory' => 'Phalcon\Image\ImageFactory',
'Phalcon\Logger\Adapter' => 'Phalcon\Logger\Adapter\AbstractAdapter',
'Phalcon\Logger\Adapter\Blackhole' => 'Phalcon\Logger\Adapter\Noop',
'Phalcon\Logger\Adapter\File' => 'Phalcon\Logger\Adapter\Stream',
'Phalcon\Logger\Factory' => 'Phalcon\Logger\LoggerFactory',
'Phalcon\Logger\Formatter' => 'Phalcon\Logger\Formatter\AbstractFormatter',
'Phalcon\Mvc\Collection' => 'Phalcon\Collection',
'Phalcon\Mvc\Collection\Exception' => 'Phalcon\Collection\Exception',
'Phalcon\Mvc\Model\Message' => 'Phalcon\Messages\Message',
'Phalcon\Mvc\Model\MetaData\Files' => 'Phalcon\Mvc\Model\MetaData\Stream',
'Phalcon\Mvc\Model\Validator' => 'Phalcon\Validation\Validator',
'Phalcon\Mvc\Model\Validator\Email' => 'Phalcon\Validation\Validator\Email',
'Phalcon\Mvc\Model\Validator\Exclusionin' => 'Phalcon\Validation\Validator\ExclusionIn',
'Phalcon\Mvc\Model\Validator\Inclusionin' => 'Phalcon\Validation\Validator\InclusionIn',
'Phalcon\Mvc\Model\Validator\Ip' => 'Phalcon\Validation\Validator\Ip',
'Phalcon\Mvc\Model\Validator\Numericality' => 'Phalcon\Validation\Validator\Numericality',
'Phalcon\Mvc\Model\Validator\PresenceOf' => 'Phalcon\Validation\Validator\PresenceOf',
'Phalcon\Mvc\Model\Validator\Regex' => 'Phalcon\Validation\Validator\Regex',
'Phalcon\Mvc\Model\Validator\StringLength' => 'Phalcon\Validation\Validator\StringLength',
'Phalcon\Mvc\Model\Validator\Uniqueness' => 'Phalcon\Validation\Validator\Uniqueness',
'Phalcon\Mvc\Model\Validator\Url' => 'Phalcon\Validation\Validator\Url',
'Phalcon\Mvc\Url' => 'Phalcon\Url',
'Phalcon\Mvc\Url\Exception' => 'Phalcon\Url\Exception',
'Phalcon\Mvc\User\Component' => 'Phalcon\Di\Injectable',
'Phalcon\Mvc\User\Module' => 'Phalcon\Di\Injectable',
'Phalcon\Mvc\User\Plugin' => 'Phalcon\Di\Injectable',
'Phalcon\Mvc\View\Engine' => 'Phalcon\Mvc\View\Engine\AbstractEngine',
'Phalcon\Paginator\Adapter' => 'Phalcon\Paginator\Adapter\AbstractAdapter',
'Phalcon\Paginator\Factory' => 'Phalcon\Paginator\PaginatorFactory',
'Phalcon\Session\Adapter' => 'Phalcon\Session\Adapter\AbstractAdapter',
'Phalcon\Session\Adapter\Files' => 'Phalcon\Session\Adapter\Stream',
'Phalcon\Session\Factory' => 'Phalcon\Session\Manager',
'Phalcon\Translate\Adapter' => 'Phalcon\Translate\Adapter\AbstractAdapter',
'Phalcon\Translate\Factory' => 'Phalcon\Translate\TranslateFactory',
'Phalcon\Validation\CombinedFieldsValidator' => 'Phalcon\Validation\AbstractCombinedFieldsValidator',
'Phalcon\Validation\Message' => 'Phalcon\Messages\Message',
'Phalcon\Validation\Message\Group' => 'Phalcon\Messages\Messages',
'Phalcon\Validation\Validator' => 'Phalcon\Validation\AbstractValidator',
'Phalcon\Text' => 'Phalcon\Helper\Str',
'Phalcon\Session\AdapterInterface' => 'SessionHandlerInterface',
],
]]);
$services->set(RenameMethodRector::class)
->call('configure', [[
RenameMethodRector::METHOD_CALL_RENAMES => inline_value_objects([
new MethodCallRename('Phalcon\Acl\AdapterInterface', 'isResource', 'isComponent'),
new MethodCallRename('Phalcon\Acl\AdapterInterface', 'addResource', 'addComponent'),
new MethodCallRename('Phalcon\Acl\AdapterInterface', 'addResourceAccess', 'addComponentAccess'),
new MethodCallRename('Phalcon\Acl\AdapterInterface', 'dropResourceAccess', 'dropComponentAccess'),
new MethodCallRename('Phalcon\Acl\AdapterInterface', 'getActiveResource', 'getActiveComponent'),
new MethodCallRename('Phalcon\Acl\AdapterInterface', 'getResources', 'getComponents'),
new MethodCallRename('Phalcon\Acl\Adapter\Memory', 'isResource', 'isComponent'),
new MethodCallRename('Phalcon\Acl\Adapter\Memory', 'addResource', 'addComponent'),
new MethodCallRename('Phalcon\Acl\Adapter\Memory', 'addResourceAccess', 'addComponentAccess'),
new MethodCallRename('Phalcon\Acl\Adapter\Memory', 'dropResourceAccess', 'dropComponentAccess'),
new MethodCallRename('Phalcon\Acl\Adapter\Memory', 'getResources', 'getComponents'),
new MethodCallRename('Phalcon\Cli\Console', 'addModules', 'registerModules'),
new MethodCallRename('Phalcon\Dispatcher', 'setModelBinding', 'setModelBinder'),
new MethodCallRename('Phalcon\Assets\Manager', 'addResource', 'addAsset'),
new MethodCallRename('Phalcon\Assets\Manager', 'addResourceByType', 'addAssetByType'),
new MethodCallRename('Phalcon\Assets\Manager', 'collectionResourcesByType', 'collectionAssetsByType'),
new MethodCallRename('Phalcon\Http\RequestInterface', 'isSecureRequest', 'isSecure'),
new MethodCallRename('Phalcon\Http\RequestInterface', 'isSoapRequested', 'isSoap'),
new MethodCallRename('Phalcon\Paginator', 'getPaginate', 'paginate'),
new MethodCallRename('Phalcon\Mvc\Model\Criteria', 'order', 'orderBy'),
]),
]]);
$services->set(RenameConstantRector::class)
->call('configure', [[
RenameConstantRector::OLD_TO_NEW_CONSTANTS => [
'FILTER_SPECIAL_CHARS' => 'FILTER_SPECIAL',
'FILTER_ALPHANUM' => 'FILTER_ALNUM',
],
]]);
$services->set(FlashWithCssClassesToExtraCallRector::class);
$services->set(NewApplicationToToFactoryWithDefaultContainerRector::class);
$services->set(AddRequestToHandleMethodCallRector::class);
};