Wordpress, Vbulletin vb. scriptlerde tema ve plugin yapımcıları için kolaylık sağlaması için hook (kanca) kullanılıyor. Böylece asıl dosyaya müdahale etmeden kendi oluşturduğumuz dosya içerisinden istediğimiz dosyanın hook olan bölümlerine ekleme yapabiliyoruz.
Bunu kendi yazdığımız sistemler için nasıl yaparız diye ingilizce ve Türkçe olarak biraz araştırdım. Ancak bunu tam olarak karşılayan bir kod bütünü bulamadım. Bir kaç deneme kendim yaptım ancak başarılı olamadım. Tahmin ediyorum ki bu class lar yardımı ile yapılabilir. Nesneye yönelik programlama bilgim henüz olmadığı için deneme yapamadım.
Bu sistemi yapmış olan ya da yapabilecek bir arkadaş anlatım eklerse herkese faydalı olacağını düşünüyorum.
Ben üzerinde çalıştığım sistemde yapmak istediğimi basit bir trick yardımıyla hallettim. Ama hook ile yapmayı tercih ederim.
PHP Hook Sistemi
5
●2.744
- 04-09-2009, 11:29:32Üyeliği durduruldugenelde classlar extend edilerek yapilyior bunlar. hic class bilmeden yapmaniz zor
- 04-09-2009, 11:42:19Üyeliği durduruldu
- 05-09-2009, 17:03:59Bu konu üzerinde daha önce bende bir araştırma yapmıştım, öncelikle bir xml okuyucusu kodlamanız gerekiyor (xml dosyalarındaki kodları veritabanına yazmak için), daha sonra mantık şu şekilde çalışıyor, daha önceden sabitlenmiş değişkenler kendisine atanan kodları veritabanı içinden çekip bir döngüye sokuyor ve ekrana basıyor, mesela $konu değişkenine bir xml ile bir kod atadığınızda o kodun kancası $konu değişkeni olmuş oluyor ve bu değişkene atanan kodlar sadece çağrıldığı yerde çalışıyor (konu.php gibi).
Kodlamaya başlamadan önce çok düzgün bir veritabanı şablonu tasarlamanız gerekir, ayrıca bir solukta yapılabilecek birşey olduğunu da sanmıyorum, ama eğer başarır ve ortaya düzgün birşey çıkarırsanız, bundan sonraki hayatınız için kodlayacağınz sitelerde kendinize çok kolaylık yapmış olursunuz.
Benimde üzerinde çalıştığım bir proje var, bir php dosyası yardımı ile formlar oluşturmak ve bu formlara değer atamak, bu sayfa ile oluşturulan formları ve değerleri veritabanına aktararak başka sayfalardan formu ve değerleri tek bir değişken ile sayfalarda göstermek, yani;
gibi...Alıntı
Hook için size çok basit şu örneği vereyim;
$a = array('ahmet','mehmet','hasan'); $sql = mysql_query("SELECT * FROM tablo"); while($kod = mysql_fetch_array($sql)){ $sonuc[] = stripslashes($kod['isim']); } $birlestir = array_merge($a,$sonuc); eval($birlestir);Mantık tamamen buna yakın birşey, kolay gelsin