Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    412

    Quando è necessario instanziare un oggetto e quando invece utilizzare direttamente la classe?

    Mettiamo che io abbia una classe GestioneMessaggi che si occupa di fare tutte quelle cose inerenti al prelievo e all'inserimento dei dati in un database.
    Per utilizzarla farei

    $gestioneMsg=new GestioneMessaggi();
    $gestioneMsg->metodo();

    ma nei casi in cui come potete vedere, l'istanzazione avviene senza particolari costrutti, manca qualsiasi passaggio di parametro per cui che senso ha l'istanzazione?? Non otterrei i medesimi risultati semplicemente chiamando
    GestioneMessaggi::metodo()

    ??

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    412
    Dalla documentazione sembra che solo i metodi e i parametri dichiarati static o const sono utilizzabili tramite ::
    Ma io facendo delle prove ho utilizzato la stessa sintassi anche per chiamare una semplice funzione del tipo public function

    Codice PHP:
    class GestioneMessaggi
    {
        
    //..   
        
    public function generaSfondo()
        {
             
    //..
        
    }
    }

    GestioneMessaggi::generaSfondo() 

  4. #4
    e lui cosa dice?
    Questa volta, più che un voto.. è favoreggiamento.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    412
    Dice che solo i metodi static e const possono essere richiamati, mentre io lo faccio anche con i public (e protected nel caso sia nell'ambito di una classe ereditata).

    Cmq l'unica cosa che mi viene in mente è che l'instanziazione è necessaria laddove un parametro interno della classe debba essere modificato in runtime.. Ma dal momento in cui ciò non sia necessario, non vedo una reale utilità nelò'instanziare un oggetto piuttosto che ricorrere allo scope ::

    Confermate?

  6. #6
    semplicemente

    prova a mettere
    Codice PHP:
    error_reportingE_ALL ); 
    in cima alla pagina....
    Questa volta, più che un voto.. è favoreggiamento.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.