Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [PHP] operatore ::

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    378

    [PHP] operatore ::

    che operatore è "::" ??

    sto leggendo del codice PHP trovato in rete e non ho mai visto qeull'operatore....

    grazie per l'aiuto...

  2. #2

  3. #3
    Ciao, serve per chiamare metodi di una classe senza creare un'istanza della classe stessa. Tipicamente vengono utilizzati per chiamare metodi dichiarati statici, ma non solo. Un classico esempio è quando un classe figlia nel proprio costruttore costruisce anche la classe padre:
    Codice PHP:
    class figlia extends padre{

      function 
    __construct() {
        
    parent::__construct()
      }

    oppure ad esempio in una classe che si occupa della connessione a DB:

    Codice PHP:
    class Db {

      public static function 
    getConnection() {
          static 
    $hDB;
          if(isset(
    $hDB)) return $hDB;
       
          
    $hDB mysql_connect(HOSTUSERPWD) or die("Impossibile connettersi al DB");
          
    $link mysql_select_db(DBNAME) or die('impossibile selezionare il DB');
          return 
    $hDB
      
    }


    Le altre classi che vogliano utilizzare la connessione al DB non devono creare un'istanza della classe DB, ma possono richiamare il metodo getConnection tramite l'operatore ::

    Codice PHP:
    // get db connection
    $connection Db::getConnection 
    Infatti una classe di quel tipo va bene che sia utilizzata in quella maniera, siccome non c'è nessuna necessità di istanziare un oggetto della classe, siccome tutti quanti gli oggetti istanziati avrebbero le stesse identiche caratteristiche.
    =======================
    http://www.abidibo.net

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    378
    grazie @ filippo.toso, con google non trovavo niente, non era un ricerca facile con quei "::"

    grazie @ abidibo, gentilissimo a farmi un esempio completo che mi ha chiarito le idee!!


    saluti

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.