Reklam
Fatal error: Cannot redeclare function Hatası

Fatal error: Cannot redeclare function Hatası

Merhaba arkadaşlar,

Sıkıcı bir günün ardından PHP programlamaya yeni başlayanların hep başına gelen bir hatadan bahsediyorum.

Fatal error: Cannot redeclare function

Bu hata ile bende zamanında çok karşılaşıyordum. Düzensiz bir template sistemim olurdu. Template dosyamın içinde bir fonksiyon oluştururdum. Fakat aynı fonksiyonu asıl işlemlerimi yaptığım sayfada da tanımlıyordum. Bu şekilde iki farklı yerde aynı adla iki fonksiyon tanımlayınca PHP’nin kafası karışıyor ve hata veriyor. Şimdi örnek bir fonksiyon yazalım:

<?php
function foo($deger) {
 return $deger;
}
?>

Bildiğiniz gibi programcı insan biraz tembel ve üşengeçtir. Bu nedenle bu fonksiyon var mı yok mu diye kontrole etmek yerine basit bir fonksiyon ise tekrar yazar template dosyasında. İşte bu noktada basit bir kontrolle bu işlemi hata almadan atlatabiliriz:

<?php
if(!function_exists('foo')){
    function foo($deger) {
         return $deger;
    }
}
?>

function_exists() fonksiyonu böyle bir fonksiyon var mı yok mu diye kontrol etmemizi sağlar. Eğer bu isimle bir fonksiyon tanımlı değilse yeni fonksiyonumuzu tanımlamamıza imkan verir.

Yeni yeni uğraşanlar için güzel bir makale oldu bence, kolay gelsin.


3 Yorum
  1. Recep 4 seneönce
    Cevapla

    Elinize sağlık çok işime yaradı ..

  2. hımm program yazmak gerçekten sorun o kadar kod aklında insan nasıl tutuyor? yada ek olarak kodları bir yere yazıp oradan COPY-PASTE mi yapıyor?

  3. Ertuğrul 8 ayönce
    Cevapla

    Varya sen adamın dibisin :D

Yorum Yapın

Eposta adresiniz görünmeyecektir.

oniki − bir =