Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

hook

Konu, 'PHP' kısmında Necronomicon tarafından paylaşıldı.

  1. Necronomicon

    Necronomicon Aktif Üye

    Kayıt:
    1 Ekim 2008
    Mesajlar:
    401
    Beğenilen Mesajlar:
    0
    Meslek:
    C# , Java , PHP ,Java Script
    Şehir:
    Ä°stanbul, Turkey
    merhaba , php ile hook system yazmak istiyorum , bu konuda yapmam gereken nedir nasıl bir mantıkla yapmalıyım , bu konuda yardımcı olabilecek arkadaş var mı?
     
  2. Sancar Saran

    Sancar Saran Daimi Üye

    Kayıt:
    9 Mart 2007
    Mesajlar:
    2,063
    Beğenilen Mesajlar:
    1
    Meslek:
    Bilgi Islem
    Şehir:
    Izmir
    Hook derken ?
     
  3. Necronomicon

    Necronomicon Aktif Üye

    Kayıt:
    1 Ekim 2008
    Mesajlar:
    401
    Beğenilen Mesajlar:
    0
    Meslek:
    C# , Java , PHP ,Java Script
    Şehir:
    Ä°stanbul, Turkey
    örneğin ben bir plugin yazdım ve bunu admin head da yada menu lerde bir yerede göstermek istiyorum plugin katif olduğundan içindeki kodda misal
    register_plugin('admin_head','random_yazi',10); gibi

    register_plugin($where,$function,$acces_level); gibi
     
  4. Raiden

    Raiden self.life.start()

    Kayıt:
    11 Ekim 2004
    Mesajlar:
    4,392
    Beğenilen Mesajlar:
    0
    Şehir:
    /home/Raiden
    wordpressi incele istersen
     
  5. Necronomicon

    Necronomicon Aktif Üye

    Kayıt:
    1 Ekim 2008
    Mesajlar:
    401
    Beğenilen Mesajlar:
    0
    Meslek:
    C# , Java , PHP ,Java Script
    Şehir:
    Ä°stanbul, Turkey
    orayı inceledim benim plugin sistem çalışıyor aktif olanları database tutuyorum pasif olanları ise yüklenmemiş olarak belirtiyorum hatta bu yazılmış pluginlerin head kısımlarını okuyabiliyorum ve silip ,zip halde yazılmış bir plugini yükleme yapaliyorum kala kala şu şurada göster burada çalıştır meselesi kaldı, hatta hatırlarsan sen array_uniq söyledin

    :garip: bu konuda wordpress baya iyi gibi lakin yazan arkadaşlar mutlaka vardır , bu arkadaşlardan temel bilgileri almak istiyorum
     
  6. Raiden

    Raiden self.life.start()

    Kayıt:
    11 Ekim 2004
    Mesajlar:
    4,392
    Beğenilen Mesajlar:
    0
    Şehir:
    /home/Raiden
    bana kalırsa illa her modül her yerde çalışacak diye bir kural kaide yok. sende kendi katı kurallarını oluşturabilirsin. örneğin abc modülü sadece sağ blokta çalışması için bir modül-yer bilgisi tutabilirsin ve ona göre listelersin..
     
  7. Necronomicon

    Necronomicon Aktif Üye

    Kayıt:
    1 Ekim 2008
    Mesajlar:
    401
    Beğenilen Mesajlar:
    0
    Meslek:
    C# , Java , PHP ,Java Script
    Şehir:
    Ä°stanbul, Turkey
    olabilir , ama ben bu yazdığım scripti paylaşacağım için bazı yerlerde kesin davranmak istemiyorum hem bu açıdan hem kendimi geliştirmek istiyorum geriye dönük ben böyle birşey yaptım diyerekten bana kaynak olur bu projemi bitirsem cms yazma konusuna başlayacağım yazdığım script blog system
    eksik kalan kısımlardan biride bu ve post, page işlemleri bu projeyi tek başıma götürüyorum bakıp incelemek isterseniz dosyayı veririm
     
  8. Raiden

    Raiden self.life.start()

    Kayıt:
    11 Ekim 2004
    Mesajlar:
    4,392
    Beğenilen Mesajlar:
    0
    Şehir:
    /home/Raiden
    evet inceleyebilirim.
     
  9. Skorp

    Skorp Aktif Üye

    Kayıt:
    25 Ocak 2007
    Mesajlar:
    393
    Beğenilen Mesajlar:
    0
    Meslek:
    Coder
    Şehir:
    Avusturya
    tam olarak sorun ne? ne ypamak istedigini anladim ama plugin sistemin hazir diyorsun e sorun ne?
     
  10. Necronomicon

    Necronomicon Aktif Üye

    Kayıt:
    1 Ekim 2008
    Mesajlar:
    401
    Beğenilen Mesajlar:
    0
    Meslek:
    C# , Java , PHP ,Java Script
    Şehir:
    Ä°stanbul, Turkey
    ekte mevcut öncelikle db table oluşturup sql kodunu çalıştırmak yeterli
    include klasöründe config.php var orada kendi sisteminizin db kısımlarını girebilirsiniz
    ve son olarak kullanı adı administrator şifresi 123
     
  11. Raiden

    Raiden self.life.start()

    Kayıt:
    11 Ekim 2004
    Mesajlar:
    4,392
    Beğenilen Mesajlar:
    0
    Şehir:
    /home/Raiden
    theme klasörü içinde yok
     
  12. Necronomicon

    Necronomicon Aktif Üye

    Kayıt:
    1 Ekim 2008
    Mesajlar:
    401
    Beğenilen Mesajlar:
    0
    Meslek:
    C# , Java , PHP ,Java Script
    Şehir:
    Ä°stanbul, Turkey
    örnek pluginde yazdığım şu kod
    test.php
    Kod:
    /**
     * Version:1.0
     * Author: can
     * Url: http://www.mmm.com
     * Content:bu bir test plugini
     * E-mail:can.acar@windowslive.com
     * Plugin name: Test
     */
    function randon_text(){
        echo "bu bir test yazısı";
    }
    set_action('admin_head','randon_text',10);
    ?>
    
    bu şekilde yazdığımda bu plugin aktif olduğunda içindeki kod çalışacak admin_head kısımında belirlediğim hook kısımlarında bu plugindeki test yazısı ekrana basılacak işte bu ikisi arasında nasıl bir kurgu ve mantık olması gekir onu kestiremiyorum bir kestirsem gerisi gelecek
     
  13. Necronomicon

    Necronomicon Aktif Üye

    Kayıt:
    1 Ekim 2008
    Mesajlar:
    401
    Beğenilen Mesajlar:
    0
    Meslek:
    C# , Java , PHP ,Java Script
    Şehir:
    Ä°stanbul, Turkey
    theme klasörü hemen ekledim
     
  14. SEYRANLI

    SEYRANLI Daimi Üye

    Kayıt:
    30 Aralık 2007
    Mesajlar:
    2,162
    Beğenilen Mesajlar:
    0
    Meslek:
    Öğretmen
    Şehir:
    Ankara
    admin_head dediğin nedir bilmiyorum ancak, bunun bir dizi olduğunu varsayarsak
    PHP:
    function test() {
    echo 
    'bu bir deneme';
    }
    $admin_head=array();
    function 
    register_plugin($yer,$function,$bu_ne_numarası)
    {
    global $
    $yer;
    $dizi=& $$yer;
    $dizi[]=$function.'();';
    }
    register_plugin('admin_head','test',3);
    print_r($admin_head);
    şeklinde diziye çalıştırılması gereken fonksiyonları kaydedip daha sonra foreach veya forla saydırıp eval ile çalıştırabilirsin. veya direk çalışan halleri tutulacaksa,
    PHP:
    function test() {
    echo 
    'bu bir deneme';
    }
    $admin_head='Merhaba <br />';
    function 
    register_plugin($yer,$function,$bu_ne_numarası)
    {
    global $
    $yer;
    $degisken=& $$yer;
    ob_start();
    eval(
    $function.'();');
    $degisken.=ob_get_clean();
    }
    register_plugin('admin_head','test',3);
    echo 
    $admin_head;
    şeklinde de yap bilirsin sanırım
     
  15. blue-code

    blue-code Misafir

  16. Necronomicon

    Necronomicon Aktif Üye

    Kayıt:
    1 Ekim 2008
    Mesajlar:
    401
    Beğenilen Mesajlar:
    0
    Meslek:
    C# , Java , PHP ,Java Script
    Şehir:
    Ä°stanbul, Turkey
    eve gelirken aklıma create_function geldi ve bu fonksiyonla ile ilgili örnekler eğer eve gelirken kurguladığım mevzu olursa takla atarım :D
     
  17. Necronomicon

    Necronomicon Aktif Üye

    Kayıt:
    1 Ekim 2008
    Mesajlar:
    401
    Beğenilen Mesajlar:
    0
    Meslek:
    C# , Java , PHP ,Java Script
    Şehir:
    Ä°stanbul, Turkey
    basit bir uygulama olarak yaptım sisteme entegre ediyorum :cool:
     
  18. Sancar Saran

    Sancar Saran Daimi Üye

    Kayıt:
    9 Mart 2007
    Mesajlar:
    2,063
    Beğenilen Mesajlar:
    1
    Meslek:
    Bilgi Islem
    Şehir:
    Izmir
    Anladimki, Insan, alistigi sistemde dongu yapan bir makinadan baska bir sey degil. Ancak ve ancak ihtiyac halinde bu tavrindan vaz gecme egilimine sahip.

    Yaptigimiz ise laf soyleyen olmus ama hic kimse ne yaptigimiza bakma luzumunu bile hissetmemis.

    Guzel kardesim, blue-code arkadasin bahsetmis oldugu gibi, aradigin mekanizmanin babasi, yaso portal kodunda vardir.

    Sistem sql bazli olup, mevcut ta bulunan tum modulleri, bir interface yardimi ile. herhangibir sayfanin, herhangibir yerine inject etmene imkan verir. Ayrica basit bir config parametre giris imkani vardir.

    Sadece cok saglam cms sistemlerinde bulunan bir ozelliktir. Kod free oldugu icin alip kopyalayabilirsin.

    Daha gelismis ornegi Kaplan5 icinde olup, eklenecek module ait tum ayarlar, sadece tiklama ile yapilabilmektedir.

    Kendim yapayim diyorsan.

    Temel olarak asagidaki bilgilere sahip olmalisin.

    1-) Benim Pluginnlerim, Modullerim, Extensionlarim nedir ?
    2-) Ben bunlari neyere koyacagim.
    3-) Bu pluginlere ait kurulum ayarlari varmidir ?

    Kolay gelsin
     
  19. Necronomicon

    Necronomicon Aktif Üye

    Kayıt:
    1 Ekim 2008
    Mesajlar:
    401
    Beğenilen Mesajlar:
    0
    Meslek:
    C# , Java , PHP ,Java Script
    Şehir:
    Ä°stanbul, Turkey
    canım abi , senin sistemi tabii ki inceliyorum bakmadım değil , şimdi ben plugin sistemini yazdım sınıflarım hazır tek kalan aktif olan plugin içindeki kodu misal ;
    add_hook('admin_head','random_yazi'); yaptığımda sistem bu aktif olan plugini yüklüyor mantıkta bu aktif olanları include yap admin_head a gönder demek kaldı ki dün akşam oturdum yaptım bunu basit bir örnekte ama sisteme entegre yaptığımda sorunlar oldu onları gideriyorum ,
    benim bir huyumdur bunu yanlış anlasılmasın , çok ama çok hazırcı değilim orada var al hemen kopyala yapıştır yapmam , içim rahat olmuyor o zaman oturup düşünecem hatta dökümanlarını okuyacağım , hazırı var al hemenkopyala da adam orada neden cyx kodunu kullandı neden abc komudunu kullandı araştırırım, sende uğraşmıssın yapmşsın bizlere sunmuşsun teşekkürler lakin niye kızıyorsun onu anlamış değilim?
     
  20. Necronomicon

    Necronomicon Aktif Üye

    Kayıt:
    1 Ekim 2008
    Mesajlar:
    401
    Beğenilen Mesajlar:
    0
    Meslek:
    C# , Java , PHP ,Java Script
    Şehir:
    Ä°stanbul, Turkey
    hook systemi bitirdim sınıf hale detiriyorum isteyen herkez systemine ekleyebilir. kolay gelsin:cool::kuuul:
     
Benzer Konular
Yüklüyor...