Php Cannot redeclare hatası çözümü

  • 14 Mayıs 2016
  • 55 Okunma
  • Yorum Yok
  • 3 DK

Merhabalar PHP severler,

Eğer diğer yazılarımı okuduysanız hep başıma gelen olaylara nasıl çözüm bulduğumu ve neler öğrendiğimi anlattığımız biliyorsunuzdur. Bu yazımda da gene başıma gelen bir olaya çözüm buldum ve sizlerle paylaşmak istiyorum.

"Fatal error: Cannot redeclare hasan()"

Bu hatayı aldığınızda anlayınca hasan() fonksiyonu veya classının olduğu dosya 2 defa import edilmiş veya aynı fonksiyon veya class o dosya içinde mevcut. Kısacası aynı simde bir den fazla fonksiyon veya class olduğunu gösteriyor ama benim başıma gelen durumda böyle bir şey söz konusu değildi. Bende bunu kontrol etmek için şöyle bir şey yaptım.

Tüm import edilen dosyaları listeleme

Import edilen dosyaların bi listesini almak için aşağıdaki kodları kullandım.

$included_files = get_included_files();
foreach ($included_files as $filename) {
echo "$filename 
"; }

Yukarıdaki kod bana import edilen dosyaların yani include veya require ilen içe aktarılan dosyaların listesini veriyor. Eğer kendiniz bi require yaptıysanız onu silip bu kodu kullanarak o dosya zaten import edilmiş mi bi kontrol edersiniz var ise kendiniz eklemenize gerek yok ama benim başıma gelen gibi aynı dosya birden fazla çekilmediği halde bu hatayı veriyorsa şu yöntemi kullanabilirsiniz.

//Fonksiyon için
if(!function_exists('hasan')){
function hasan(){
echo 'kim';
}
}
//Class için
if(!class_exists('hasan')){
$hasan = new hasan();
}

Yukarıdaki kodların mantığı şu fonksiyon veya class yok ise yenisini oluştur veya değeri değişkene ata. Burada örnek olarak verdim nasıl kullanacağınız size kalmış 🙂

HAYATI KODLA'YA ABONE OLUN!!

Php Cannot redeclare hatası çözümü İle Benzer Yazılar

"Php Cannot redeclare hatası çözümü" Yazısına uygun diğer makalerler