Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Öncelikle emeğine sağlık.Ancak şöyle bir sıkıntı sezdim ; ilk başta yazdığın fonksiyonları tam olarak niçin ve neden oluşturduğunu anlatmadın?Hangi mantıktan yola çıkarak o parametreler eklendi.Kısacası yeterli detay verilmemiş ama buna rağmen biraz düşünülürse anlaşılır.Sadece belirtmek istedim.
Yorumunuz için teşekkürler , zaman kaybı yaşanmaması için ilk class'ı yazmayı sonra açıklamayı tercih ettim. Bir dahaki sefere dediklerinize dikkat edicem.
Öncelikle merhaba.. Hooks.php de videoyla beraber aynı kodları yazdım fakat hata aldım. Hata çıktısı : [b] Parse error: syntax error, unexpected T_STRING, expecting T_VARIABLE in C:wampwwweklenti_yapmahooks.php on line 3[/b] Hooks.php'de 3.satır da buna denk geliyor.. private $eklenti; Nerede hatam var acaba. Php versiyonum 5.3..
Hooks.php kodlarım <?php Class eklentim{ private $eklenti; public function fonksiyon_ekle($nereye,$fonksiyon,$oncelik = 1){ if(!isset($this->eklenti[$nereye])) $this->eklenti[$nereye] = array(); $this->eklenti[$nereye][$fonksiyon] = $oncelik; } public function fonksiyon_sil($nereye,$fonksiyon){ if(isset($this->eklenti[$nereye][$fonksiyon]))) unset($this->eklenti[$nereye][$fonksiyon]); } public function calistir($nereye,$args = array()){ if(isset($this->eklenti[$nereye])) $dizi = $this->eklenti[$nereye]; arsort($dizi); foreach($dizi as $fonksiyon=>$oncelik){ call_user_func_array($fonksiyon,$args); } } } } $eklenti = new eklentim; $eklenti->fonksiyon_ekle("slider_oncesi","reklam_slider"); ?>
hata fazla iki parantezden kaynaklanıyor , kodu şöyle değiştirdiğimde hata almadım [code]<?php Class eklentim{ private $eklenti; public function fonksiyon_ekle($nereye,$fonksiyon,$oncelik = 1){ if(!isset($this->eklenti[$nereye])) $this->eklenti[$nereye] = array(); $this->eklenti[$nereye][$fonksiyon] = $oncelik; } public function fonksiyon_sil($nereye,$fonksiyon){ if(isset($this->eklenti[$nereye][$fonksiyon])) unset($this->eklenti[$nereye][$fonksiyon]); } public function calistir($nereye,$args = array()){ if(isset($this->eklenti[$nereye])) $dizi = $this->eklenti[$nereye]; arsort($dizi); foreach($dizi as $fonksiyon=>$oncelik){ call_user_func_array($fonksiyon,$args); } } } $eklenti = new eklentim; $eklenti->fonksiyon_ekle("slider_oncesi","reklam_slider"); function reklam_slider(){ echo 's'; } $eklenti->calistir("slider_oncesi"); ?>[/code].
error_reporting(0); Class eklentim{ private $eklenti; public function fonksiyon_ekle($nereye,$fonksiyon,$oncelik = 1){ if(!isset($this->eklenti[$nereye])) $this->eklenti[$nereye] = array(); $this->eklenti[$nereye][$fonksiyon] = $oncelik; } public function fonksiyon_sil($nereye,$fonksiyon){ if(isset($this->eklenti[$nereye][$fonksiyon])) unset($this->eklenti[$nereye][$fonksiyon]); } public function calistir($nereye,$args = array()){ if(isset($this->eklenti[$nereye])) $dizi = $this->eklenti[$nereye]; @arsort($dizi); foreach ($dizi as $fonksiyon => $oncelik){ call_user_func_array($fonksiyon,$args); } } } $eklenti = new eklentim; $eklenti->fonksiyon_ekle("head_sonrasi","script_tags", 10); $eklenti->fonksiyon_ekle("head_sonrasi","meta_tags", 5); $eklenti->fonksiyon_sil("head_sonrasi","meta_tags"); $eklenti->fonksiyon_ekle("slider_oncesi","reklam_slider"); Böyle çalıştrdm..

Yukarı Git