Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    php and object oriented programming

    Ciao a tutti,
    volevo esporre un problema di programmazione in cui sono incappato con un mio progetto e da cui volevo uscire con stile.

    Gli elementi in gioco sono:
    1) classe A : genera, tramite apposite funzioni, codice html e compone una pagina html
    2) template xxx.tpl : in cui posso richiamare le funzioni della classe A
    3) header.tpl e footer.tpl : che vanno a comporre la mia pagina web attorno al template xxx.tpl

    Il mio problema è che intendevo utilizzare la classe A ANCHE per gestire la composizione (sempre con una funzione) della pagina: richiama nell'ordine l'header, il tpl e il footer.

    Per ora l'unica brillante idea che ho avuto per generare la pagina web è utilizzare include/require in una apposita funzione della classe A e quindi richiamarla in un'altro script php dove istanzio l'oggetto di classe A.

    Il problema è che, giustamente, non posso più utilizzare la classe A all'interno di xxx.tpl a meno che non instanzio un nuovo oggetto di classe A (cosa che vorrei evitare).

    Un primo workaround è stato l'uso di una classe B che altro non fa che istanziare A e comporre correttamente i vari tpl ma non ottengo output dalle funzioni della classe A (sicuramente un problema di visibilità delle classi/funzioni).

    Qualcuno ha un'idea alternativa?
    Grazie in anticipo.

  2. #2
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    si...crei dei metodi statici nella classe A così non dovrai istanziarla...
    class A{
    public static function componi(){
    //tuo codice qui
    }
    }
    che richiamerai con
    A::componi();

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

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.