Skip to content

Commit 775b806

Browse files
authored
[DowngradePhp85] Rename deprecated PDO constants and methods (#304)
1 parent 9a127bb commit 775b806

File tree

1 file changed

+117
-0
lines changed

1 file changed

+117
-0
lines changed

config/set/downgrade-php85.php

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,128 @@
44

55
use Rector\Config\RectorConfig;
66
use Rector\DowngradePhp85\Rector\FuncCall\DowngradeArrayFirstLastRector;
7+
use Rector\Renaming\Rector\ClassConstFetch\RenameClassConstFetchRector;
8+
use Rector\Renaming\Rector\MethodCall\RenameMethodRector;
9+
use Rector\Renaming\ValueObject\MethodCallRename;
10+
use Rector\Renaming\ValueObject\RenameClassAndConstFetch;
711
use Rector\ValueObject\PhpVersion;
812

913
return static function (RectorConfig $rectorConfig): void {
1014
$rectorConfig->phpVersion(PhpVersion::PHP_84);
1115
$rectorConfig->rules([
1216
DowngradeArrayFirstLastRector::class,
1317
]);
18+
19+
// https://wiki.php.net/rfc/deprecations_php_8_5#deprecate_driver_specific_pdo_constants_and_methods
20+
$rectorConfig->ruleWithConfiguration(
21+
RenameMethodRector::class,
22+
[
23+
new MethodCallRename('Pdo\Pgsql', 'copyFromArray', 'pgsqlCopyFromArray'),
24+
new MethodCallRename('Pdo\Pgsql', 'copyFromFile', 'pgsqlCopyFromFile'),
25+
new MethodCallRename('Pdo\Pgsql', 'copyToArray', 'pgsqlCopyToArray'),
26+
new MethodCallRename('Pdo\Pgsql', 'copyToFile', 'pgsqlCopyToFile'),
27+
new MethodCallRename('Pdo\Pgsql', 'getNotify', 'pgsqlGetNotify'),
28+
new MethodCallRename('Pdo\Pgsql', 'getPid', 'pgsqlGetPid'),
29+
new MethodCallRename('Pdo\Pgsql', 'lobCreate', 'pgsqlLOBCreate'),
30+
new MethodCallRename('Pdo\Pgsql', 'lobOpen', 'pgsqlLOBOpen'),
31+
new MethodCallRename('Pdo\Pgsql', 'lobUnlink', 'pgsqlLOBUnlink'),
32+
new MethodCallRename('Pdo\Sqlite', 'createAggregate', 'sqliteCreateAggregate'),
33+
new MethodCallRename('Pdo\Sqlite', 'createCollation', 'sqliteCreateCollation'),
34+
new MethodCallRename('Pdo\Sqlite', 'createFunction', 'sqliteCreateFunction'),
35+
]
36+
);
37+
38+
// https://wiki.php.net/rfc/deprecations_php_8_5#deprecate_driver_specific_pdo_constants_and_methods
39+
$rectorConfig->ruleWithConfiguration(
40+
RenameClassConstFetchRector::class,
41+
[
42+
new RenameClassAndConstFetch(
43+
'Pdo\Dblib',
44+
'ATTR_CONNECTION_TIMEOUT',
45+
'PDO',
46+
'DBLIB_ATTR_CONNECTION_TIMEOUT'
47+
),
48+
new RenameClassAndConstFetch('Pdo\Dblib', 'ATTR_QUERY_TIMEOUT', 'PDO', 'DBLIB_ATTR_QUERY_TIMEOUT'),
49+
new RenameClassAndConstFetch(
50+
'Pdo\Dblib',
51+
'ATTR_STRINGIFY_UNIQUEIDENTIFIER',
52+
'PDO',
53+
'DBLIB_ATTR_STRINGIFY_UNIQUEIDENTIFIER'
54+
),
55+
new RenameClassAndConstFetch('Pdo\Dblib', 'ATTR_VERSION', 'PDO', 'DBLIB_ATTR_VERSION'),
56+
new RenameClassAndConstFetch('Pdo\Dblib', 'ATTR_TDS_VERSION', 'PDO', 'DBLIB_ATTR_TDS_VERSION'),
57+
new RenameClassAndConstFetch(
58+
'Pdo\Dblib',
59+
'ATTR_SKIP_EMPTY_ROWSETS',
60+
'PDO',
61+
'DBLIB_ATTR_SKIP_EMPTY_ROWSETS'
62+
),
63+
new RenameClassAndConstFetch('Pdo\Dblib', 'ATTR_DATETIME_CONVERT', 'PDO', 'DBLIB_ATTR_DATETIME_CONVERT'),
64+
new RenameClassAndConstFetch('Pdo\Firebird', 'ATTR_DATE_FORMAT', 'PDO', 'FB_ATTR_DATE_FORMAT'),
65+
new RenameClassAndConstFetch('Pdo\Firebird', 'ATTR_TIME_FORMAT', 'PDO', 'FB_ATTR_TIME_FORMAT', ),
66+
new RenameClassAndConstFetch('Pdo\Firebird', 'ATTR_TIMESTAMP_FORMAT', 'PDO', 'FB_ATTR_TIMESTAMP_FORMAT'),
67+
new RenameClassAndConstFetch(
68+
'Pdo\Mysql',
69+
'ATTR_USE_BUFFERED_QUERY',
70+
'PDO',
71+
'MYSQL_ATTR_USE_BUFFERED_QUERY'
72+
),
73+
new RenameClassAndConstFetch('Pdo\Mysql', 'ATTR_LOCAL_INFILE', 'PDO', 'MYSQL_ATTR_LOCAL_INFILE'),
74+
new RenameClassAndConstFetch(
75+
'Pdo\Mysql',
76+
'ATTR_LOCAL_INFILE_DIRECTORY',
77+
'PDO',
78+
'MYSQL_ATTR_LOCAL_INFILE_DIRECTORY'
79+
),
80+
new RenameClassAndConstFetch('Pdo\Mysql', 'ATTR_INIT_COMMAND', 'PDO', 'MYSQL_ATTR_INIT_COMMAND'),
81+
new RenameClassAndConstFetch('Pdo\Mysql', 'ATTR_MAX_BUFFER_SIZE', 'PDO', 'MYSQL_ATTR_MAX_BUFFER_SIZE'),
82+
new RenameClassAndConstFetch('Pdo\Mysql', 'ATTR_READ_DEFAULT_FILE', 'PDO', 'MYSQL_ATTR_READ_DEFAULT_FILE'),
83+
new RenameClassAndConstFetch(
84+
'Pdo\Mysql',
85+
'ATTR_READ_DEFAULT_GROUP',
86+
'PDO',
87+
'MYSQL_ATTR_READ_DEFAULT_GROUP'
88+
),
89+
new RenameClassAndConstFetch('Pdo\Mysql', 'ATTR_COMPRESS', 'PDO', 'MYSQL_ATTR_COMPRESS'),
90+
new RenameClassAndConstFetch('Pdo\Mysql', 'ATTR_DIRECT_QUERY', 'PDO', 'MYSQL_ATTR_DIRECT_QUERY'),
91+
new RenameClassAndConstFetch('Pdo\Mysql', 'ATTR_FOUND_ROWS', 'PDO', 'MYSQL_ATTR_FOUND_ROWS'),
92+
new RenameClassAndConstFetch('Pdo\Mysql', 'ATTR_IGNORE_SPACE', 'PDO', 'MYSQL_ATTR_IGNORE_SPACE'),
93+
new RenameClassAndConstFetch('Pdo\Mysql', 'ATTR_SSL_KEY', 'PDO', 'MYSQL_ATTR_SSL_KEY'),
94+
new RenameClassAndConstFetch('Pdo\Mysql', 'ATTR_SSL_CERT', 'PDO', 'MYSQL_ATTR_SSL_CERT'),
95+
new RenameClassAndConstFetch('Pdo\Mysql', 'ATTR_SSL_CA', 'PDO', 'MYSQL_ATTR_SSL_CA'),
96+
new RenameClassAndConstFetch('Pdo\Mysql', 'ATTR_SSL_CAPATH', 'PDO', 'MYSQL_ATTR_SSL_CAPATH'),
97+
new RenameClassAndConstFetch('Pdo\Mysql', 'ATTR_SSL_CIPHER', 'PDO', 'MYSQL_ATTR_SSL_CIPHER'),
98+
new RenameClassAndConstFetch(
99+
'Pdo\Mysql',
100+
'ATTR_SSL_VERIFY_SERVER_CERT',
101+
'PDO',
102+
'MYSQL_ATTR_SSL_VERIFY_SERVER_CERT'
103+
),
104+
new RenameClassAndConstFetch('Pdo\Mysql', 'ATTR_SERVER_PUBLIC_KEY', 'PDO', 'MYSQL_ATTR_SERVER_PUBLIC_KEY'),
105+
new RenameClassAndConstFetch('Pdo\Mysql', 'ATTR_MULTI_STATEMENTS', 'PDO', 'MYSQL_ATTR_MULTI_STATEMENTS'),
106+
new RenameClassAndConstFetch('Pdo\Odbc', 'ATTR_USE_CURSOR_LIBRARY', 'PDO', 'ODBC_ATTR_USE_CURSOR_LIBRARY'),
107+
new RenameClassAndConstFetch('Pdo\Odbc', 'ATTR_ASSUME_UTF8', 'PDO', 'ODBC_ATTR_ASSUME_UTF8'),
108+
new RenameClassAndConstFetch('Pdo\Odbc', 'SQL_USE_IF_NEEDED', 'PDO', 'ODBC_SQL_USE_IF_NEEDED'),
109+
new RenameClassAndConstFetch('Pdo\Odbc', 'SQL_USE_DRIVER', 'PDO', 'ODBC_SQL_USE_DRIVER'),
110+
new RenameClassAndConstFetch('Pdo\Odbc', 'SQL_USE_ODBC', 'PDO', 'ODBC_SQL_USE_ODBC'),
111+
new RenameClassAndConstFetch('Pdo\Pgsql', 'ATTR_DISABLE_PREPARES', 'PDO', 'PGSQL_ATTR_DISABLE_PREPARES'),
112+
new RenameClassAndConstFetch(
113+
'Pdo\Sqlite',
114+
'ATTR_EXTENDED_RESULT_CODES',
115+
'PDO',
116+
'SQLITE_ATTR_EXTENDED_RESULT_CODES'
117+
),
118+
new RenameClassAndConstFetch('Pdo\Sqlite', 'OPEN_FLAGS', 'PDO', 'SQLITE_ATTR_OPEN_FLAGS'),
119+
new RenameClassAndConstFetch(
120+
'Pdo\Sqlite',
121+
'ATTR_READONLY_STATEMENT',
122+
'PDO',
123+
'SQLITE_ATTR_READONLY_STATEMENT'
124+
),
125+
new RenameClassAndConstFetch('Pdo\Sqlite', 'DETERMINISTIC', 'PDO', 'SQLITE_DETERMINISTIC'),
126+
new RenameClassAndConstFetch('Pdo\Sqlite', 'OPEN_READONLY', 'PDO', 'SQLITE_OPEN_READONLY'),
127+
new RenameClassAndConstFetch('Pdo\Sqlite', 'OPEN_READWRITE', 'PDO', 'SQLITE_OPEN_READWRITE'),
128+
new RenameClassAndConstFetch('Pdo\Sqlite', 'OPEN_CREATE', 'PDO', 'SQLITE_OPEN_CREATE'),
129+
]
130+
);
14131
};

0 commit comments

Comments
 (0)