Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Sistema di Plugin

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    227

    Sistema di Plugin

    Salve a tutti!
    Sto sviluppando un CMS e avevo intenzione di creare un sistema di plugin. Tra i risultati che ho visto su Google non c'era nulla che si adattava alle mie esigenze, così ho provato a farne uno molto semplice:
    Tutte le pagine hanno un require("config.php"), che contiene varie informazioni; tra queste c'è uno script che legge un file chiamato plugin.xml che è strutturato così:

    codice:
    <?xml version="1.0" encoding="UTF-8"?>
    <addons>
    <plugin>
    <title>Nome del plugin</title>
    <description>Breve descrizione</description>
    <path>/tagboard/source.php</path> 
    </plugin>
    </addons>
    Inizialmente, per far funzionare il plugin pensavo di strutturarlo in modo simile: (questa sarebbe la pagina contenente il codice di un plugin, in questo caso aggiunge il tasto Mi piace di Facebook negli articoli)

    codice:
    <?php if($currentPage == "articolo.php"){ ?>
    <script type="text/javascript">
    var ILike = '<div id="fb-root"></div><script src="http://connect.facebook.net/it_IT/all.js#appId=215884831794958&amp;xfbml=1"></script><fb:like href="<?php echo $currentPage ?>" send="false" width="450" show_faces="false" action="like" font=""></fb:like>';
    $(ILike).appendTo("div#share");
    </script>
    <?php } ?>
    La mia domanda è: Ci sarebbero altri metodi per implementare plugin in determinate pagine e in determinati punti della pagina? Magari qualcosa di un po' più professionale di jQuery?

    Grazie in anticipo a tutti

  2. #2
    ma il sistema di plugin lo devi fare in javascript o php, mica ho capito...
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    227
    In PHP possibilmente. Nell'esempio ho usato javascript perchè è stata la prima idea che mi è venuta in mente per determinare il punto della pagina in cui inserire il codice

  4. #4
    Ti consiglierei di usare un framework PHP tipo zend, cakePHP o symfony. Io personalmente non ho avuto occasione di provare nessuno di questi, ma per un sistema del genere direi che conviene usare un pattern specifico, altrimenti si rischia di perderci la testa.
    Ciao, spero di esserti stato utile

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    227
    Grazie per il consiglio Simo990, sinceramente non li ho mai capiti a pieno i framework ma forse è perchè non ci ho dato molta attenzione fino ad ora^^ proverò a leggere qualche guida

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    227
    Sto provando a leggere la guida di Zend Framework dato che, secondo alcuni utenti, è il più adatto e semplice a creare un sistema di plugin. Qualcuno però potrebbe darmi una mano? Non avendo mai usato Zend è un po' complicato per me^^"

    Grazie in anticipo

  7. #7
    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
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.