Koji su metodi implementacije plugin sistema, imam neku ideju posto se u dosta aplikacija ponavljaju skoro isti elementi, pa cak i to da ubrzam, neke stvari kao sto je recimo "news" da napravim kao plugin koji se dodaje. Interesuje me, oni koji su radili to do sada ili su imali prilike da prostudiraju kako to drugi rade, koji su najcesce i najpouzdanije metode.
Smarty to radi na nivou funkcija, kada se plugin koristi u template-u, on proverava da li takav postoji u plugin direktorijumu, i izvrsi tu php funkciju. On pravi razliku u odnosu na output, neke zove modifiers, neke fuctions, neke block....
Moja ideja je da plugin bude jedna klasa, koja ce da nasledjuje abstraktnu klasu "plugin", a u configu moraju rucno da se inicijalizuju.
Recimo imam klasu plugin:
PHP kôd:
abstract class Plugin
a onda svaki plugin mora da bude
PHP kôd:
class MojPlugin extends Plugin
onda imam klasu Plugin
s koja sadrzi sve registrovane pluginove koji se dodaju kao
PHP kôd:
$plugins->register('MojPlugin')
I onda se moze koristiti ta klasa.
Kasnije, neki drugi plugin moze da nasledi cak i postojeci plugin i ponasa se normalno kao bilo koji.
Kako to resavaju drugi?
Off Topic: sada se pokazuje da ipak ponekad treba da pogledas tudji kod da ne izmisljas toplu vodu