polyfills / pdo-mysql-subclass
为PDO MySQL驱动子类提供的用户空间PHP polyfill。
v1.0.1
2024-01-14 17:26 UTC
Requires
- php: ^8.1
- ext-mysqlnd: *
- ext-pdo: *
- ext-pdo_mysql: *
Requires (Dev)
- phpunit/phpunit: ^10.5.5
README
提供PHP 8.4提供的MySQL子类的用户空间PHP polyfill。
支持PHP 8.1、8.2和8.3。在PHP 8.4及以后版本中,此polyfill不是必需的。需要使用编译了mysqlnd
的pdo_mysql
扩展(这是默认和常见的方法)。
在PHP 8.4及以后版本中,需要此polyfill是可能且安全的。此polyfill类是可自动加载的;在PHP 8.4及以后版本中,PHP不会自动加载此polyfill,因为它已声明为原生。
有关更多信息,请参阅PdoMysql
在PHP 8.4: PDO Driver-specific sub-classes: MySQL
安装
composer require polyfills/pdo-mysql-subclass
用法
使用提供的PdoMysql
类替换PDO
MySQL连接。
$mysqlConnection = new PdoMysql( 'mysql:host=localhost;dbname=phpwatch;charset=utf8mb4;port=33066', '<username>', '<password>', );
$mysqlConnection = PdoMysql::connect( 'mysql:host=localhost;dbname=phpwatch;charset=utf8mb4;port=33066', '<username>', '<password>', );
此polyfill向PdoMysql
类添加了类常量,以匹配所有PDO::MYSQL_
常量。例如,PDO::MYSQL_ATTR_SSL_CERT
与PdoMysql::ATTR_SSL_CERT
相同。
未实现的功能
PDO::connect
:由于这是现有的PHP类,用户空间PHP类无法修改,因此此方法无法进行polyfill。PdoMysql::getWarningCount
:此方法在polyfill中没有实现。
贡献
欢迎以GitHub问题或PR的形式为此仓库做出贡献。