Konuyu görüntüle
IUCODERS FORUM > Programlama > PHP > otomatik devreye girecek fonksiyonlar
Yazar
iemre


avatar
Anadolu
Kayıt: 26.05.2007
07.01.2013-21:20 #78681
Selam arkadaşlar bana şu şekilde birşey lazım php de.Şimdi benim bazı fonksiyonlarım var ki bunlardan önce de belli başlı fonksyonların otomtik olarak çalışmasını istiyorum.yani benim defalarca her fonksiyonun içerisinde bunları yazmama gerek kalmadan tanımlayacağım işlemlerin kendiliğinden fonksiyonlara girerken ilk olarak bunlardan geçmesini sağlayacak bir yapı php de mevcutmudur acaba ?İnşallah derdimi anlatabilmişimdir.





More than one
Yazar
clairvoyant


avatar
Antalya
Kayıt: 05.05.2006
17.01.2013-23:42 #78702
Bunun için başta proxy pattern olmak üzere çeşitli design pattern'lar uygulanabilir. Daha basit bir uygulama şekli olarak; otomatik çağrılmasını istediğin metodların adına prefix ekleyip non-public olarak tanımladıktan sonra __call magic metodu üzerinden çağrılmalarını sağlayabilirsin.

class MyClass
{
    public function __call($methodName, $args)
    {
        $methodName = '_' . $methodName;
        if (is_callable(array($this, $methodName))) {
            $this->_beforeCall();
            call_user_func_array(array($this, $methodName), $args);
        }
    }
    
    private function _beforeCall()
    {
        echo "Called _beforeCall\n";
    }

    private function _method1()
    {
        echo "Called method1\n";
    }

    private function _method2()
    {
         echo "Called method2\n";
    }
}

$obj = new MyClass();
$obj->method1();
$obj->method2();


Ayrıca bkz: http://en.wikipedia.org/wiki/Proxy_pattern






Let`s make this world a better place to live !

Yazar
iemre


avatar
Anadolu
Kayıt: 26.05.2007
21.01.2013-10:30 #78706
clairvoyant adamsın abi teşekkür ettim.





More than one
Yazar
clairvoyant


avatar
Antalya
Kayıt: 05.05.2006
30.01.2013-20:57 #78714
Rica ederim, kolay gelsin.





Let`s make this world a better place to live !

Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb