EzSQL ile bir proje geliştirdikten sonra daha çok saf PDO kodlarını kullandım projelerimde. Uzun bir aradan sonra hızlı bir proje çıkartmam gereken bir işimde admin panelini arşivden çıkartıp kullanayım istedim. Admin panele giriş için login ekranını açınca şu hata ile karşılaştım: Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; ezSQLcore has a deprecated constructor. Çözümü ise çok zor değil.
Bu hatayı bastırmak için Error Reporting/Display Errors vb. ayarları kullanabilirdim ancak pek tercih ettiğim ve sevdiğim bir yöntem değil. EzSql'in güncel sürümüne bakınca aradan aylar geçmesine rağmen yeni bir versiyon çıkartmadıklarını gördüm. Github hesaplarında yer alan hata bildirimlerini inceleyince sorunun PHP 7.x sürümünden kaynaklandığını öğrendim. PHP 7.x sürümü ile birlikte artık yapıcı metod kullanım şeklinde Class ismi yerinde __construct kullanmak zorundaymışız. Bu durumda EzSql'in her iki dosyasında da değişiklik yapmak gerekiyor. ez_sql_core.php dosyasında 61. satırda yer alan constructor şu şekilde olacaktır:
function ezSQLcore() { }
dikkat ederseniz class ismide ezSQLcore olarak kullanılmıştır. Yukarıdaki tanımlamayı aşağıdaki ile değiştirin:
public function __construct() { }
Yine aynı şekilde ez_sql_pdo.php dosyasının 42. satırında yer alan:
function ezSQL_pdo($dsn='', $user='', $password='', $ssl=array())
satırını aşağıdaki ile değiştiriyoruz:
public function __construct($dsn='', $user='', $password='', $ssl=array())
NOT : Satırlar sizin dosyanızda farklılık gösterebilir dikkatli bir şekilde değişiklik yapmanız iyi olacaktır.