Pluginable olan bir PHP komut dosyası nasıl yapılır?

2 Cevap

Ben CodeIgniter MVC framework kullanarak kendi komut dosyası oluşturma. Şimdi, ben kullanıcıların kolayca site işlevsellik değiştirmek istiyorum ve ben zaten yazdım kodu değiştirmeden kendi ekleyerek.

Nasıl benim sitesi pluginable yapabilirim?

EDIT: kullanıcılar, site yöneticileri olacaktır. Değil son kullanıcı. Temelde sadece Drupal veya Joomla gibi. Admin Site işlevselliğini genişletmek için eklentileri eklemek / oluşturmak mümkün olmak istiyorum.

2 Cevap

Orada CodeIgniter özgü var daha iyi bir yol olabilir, ancak bu yapardım ne olabilir:

Öncelikle, kodu çeşitli "kanca noktaları" için işlevler oluşturmak. Eğer bir makalede önce, kodunuzu çağrı PreArticle adında bir fonksiyon görüntülenir söylüyorlar.

Kullanıcı bu gibi bir kod yazmak için izin ver:

    addHook_PreArticle('funcToCall');

    function funcToCall( &$articleText ) {
       $articleText = str_replace('Hello', 'World', $articleText);
    }

addHook_PreArticle, bazı iç listesine geçirilen dize eklemek istiyorum tanımladığınız bir işlevi vardır. Ardından PreArticle işlevi çağrıldığında, bu işlevlerin her tanımladığınız herhangi bir uygun parametreleri geçirerek, yürütülür.

Birçok CMS gibi Joomla ve Wordpress gibi Bloglar değişken işlev adları kullanın:

$function="phpinfo";
$function();

Sen kılınabilir işlevlerin bir listesini oluşturmak için bir diziye bu yük olabilir.