Non per fare il rompi palle, ma "non hai mai capito a pieno i framework" e ti cimenti con i plugin? Mi sembra un pò un controsenso...
Cos'è un plugin? http://www.iwriteiam.nl/PlugInPattern.html spiega abbastanza bene di cosa stiamo parlando... parlando di Zend, un esempio di plugin è http://framework.zend.com/manual/en/...r.plugins.html
Praticamente nell'oggetto che stai utilizzando puoi attaccare dei "Plugin", ovvero oggetti che implementano una stessa interfaccia o estendono uno stesso oggetto base, e quindi richiamarli in determinanti punti del callflow della tua applicazione per permettere dinamicamente aggiunte di funzionalità... l'esempio del plugin dei controller di Zend è abbastanza chiaro:
sostanzialmente ogni plugin estende una interfaccia, con metodi tipo preDispathc/postDispatch etc...il controller richiama in fase di esecuzione i plugin che gli sono stati attaccati, invocando su di essi i metodi dell'interfaccia nei punti prestabiliti...
Per fare un esempio alla tua prima domanda: immaginiamo che tu abbia fatto una classe StampaArticoli che dalla classe View viene richiamata per stampare dove specificato un elenco di articoli. Di base, tale classe stamperà titolo e estratto dell'articolo per ogni articolo che pesca dal db... Il plugin dovrebbe avere un'interfaccia tale da permettere di modificare tale comportamento, in maniera ad esempio di poter stampare il pulsante "mi piace" di facebook o quello che ti pare te. Il plugin verrebbe attaccato alla classe StampaArticoli. Oppure, e' la view che cerca tra i suoi plugin qualcuno che possa stampare l'elenco degli articoli, e a seconda del plugin attaccato alla view viene stampato l'elenco base o un elenco con funzionalità avanzate come il pulsante di facebook...
Così come il plugin di una View inteso come "elemento" da aggiungere in fase di stampa (che ne so, il riquadro dei feed rss ad esempio) è una classe con una determinata interfaccia che la view è in grado di caricare e richiamare in maniera corretta e nel punto corretto

Rispondi quotando