[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: SetRectorsResolver.php
File is not writable. Editing disabled.
<?php declare (strict_types=1); namespace Rector\Bridge; use Rector\Config\RectorConfig; use Rector\Contract\Rector\RectorInterface; use RectorPrefix202411\Webmozart\Assert\Assert; /** * @api * @experimental since 1.1.2 * Utils class to ease building bridges by 3rd-party tools * * @see \Rector\Tests\Bridge\SetRectorsResolverTest */ final class SetRectorsResolver { /** * @param string[] $configFilePaths * @return array<int, class-string<RectorInterface>|array<class-string<RectorInterface>, mixed[]>> */ public function resolveFromFilePathsIncludingConfiguration(array $configFilePaths) : array { Assert::allString($configFilePaths); Assert::allFileExists($configFilePaths); $combinedRectorRulesWithConfiguration = []; foreach ($configFilePaths as $configFilePath) { $rectorRulesWithConfiguration = $this->resolveFromFilePathIncludingConfiguration($configFilePath); $combinedRectorRulesWithConfiguration = \array_merge($combinedRectorRulesWithConfiguration, $rectorRulesWithConfiguration); } return $combinedRectorRulesWithConfiguration; } /** * @return array<int, class-string<RectorInterface>|array<class-string<RectorInterface>, mixed[]>> */ public function resolveFromFilePathIncludingConfiguration(string $configFilePath) : array { $rectorConfig = $this->loadRectorConfigFromFilePath($configFilePath); $rectorClassesWithOptionalConfiguration = $rectorConfig->getRectorClasses(); foreach ($rectorConfig->getRuleConfigurations() as $rectorClass => $configuration) { // remove from non-configurable, if added again with better config if (\in_array($rectorClass, $rectorClassesWithOptionalConfiguration)) { $rectorRulePosition = \array_search($rectorClass, $rectorClassesWithOptionalConfiguration, \true); if (\is_int($rectorRulePosition)) { unset($rectorClassesWithOptionalConfiguration[$rectorRulePosition]); } } $rectorClassesWithOptionalConfiguration[] = [$rectorClass => $configuration]; } // sort keys return \array_values($rectorClassesWithOptionalConfiguration); } private function loadRectorConfigFromFilePath(string $configFilePath) : RectorConfig { Assert::fileExists($configFilePath); $rectorConfig = new RectorConfig(); /** @var callable $configCallable */ $configCallable = (require $configFilePath); $configCallable($rectorConfig); return $rectorConfig; } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium264.web-hosting.com
Server IP: 69.57.162.13
PHP Version: 8.1.34
Server Software: LiteSpeed
System: Linux premium264.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 73.58 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
No
pkexec:
No
git:
Yes
User Info
Username: kidscntx
User ID (UID): 1154
Group ID (GID): 1112
Script Owner UID: 1154
Current Dir Owner: N/A