Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Classi

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    274

    Classi

    Se due classi di questo tipo:

    Codice PHP:
    class SubClass {
      var 
    $variabile2;

      function 
    Funzione() {

      }
    }

    class 
    Classe {
      var 
    $variabile;
      var 
    $subclass;
     
      function 
    Classe() {
        
    $this->subclass = new SubClass;
      }

    come posso accedere da Funzione() ad una variabile di Classe ($variabile)?
    Progeny

  2. #2
    per fare quello che vuoi occorre che subClass erediti da Class, quindi:

    Codice PHP:
    class Classe {
      protected var 
    $variabile;
      protected var 
    $subclass;

      function 
    __construct() {
        
      }
    }

    class 
    SubClass extends Classe{
      var 
    $variabile2;

      function 
    Funzione() {
        
    $this->variabile 5;
        echo 
    $this->variabile;
      }
    }

    $class = new Class();
    $class->Funzione(); 

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    274
    si avevo gia' visto la documentazione e quindi extends... il problema è che ho una classe "principale" di nome User, che contiene tante var e metodi per l'utente... in più ci sono una decina di sottoclassi.. una per gestire una cosa specifica, esempio: accessi, log, photo, altro... quindi non posso e non ha senso fare ereditare ad ogni sottoclasse le proprietà di Utente... infondo log, photo ed altro non sono "casi specifici" della classe generale utente... non c'è una soluzione elegante al problema?
    Progeny

  4. #4
    PHP5

    Codice PHP:
    <?php
    class SubClass 
    {
      public 
    $variabile2;

      static function 
    Funzione() {
          echo 
    Classe::$variabile;
      }
    }

    class 
    Classe 
    {
      public static 
    $variabile "ECHO";
      public 
    $subclass;

      function 
    Classe() {
        
    $this->subclass = new SubClass;
      }
    }

    // Prova
    SubClass::Funzione();
    ?>

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    274
    public e static apparte funziona anche su PHp 4 giusto?
    Progeny

  6. #6
    no, sono parole chiave introdotte solo con PHP 5.
    Sarebbe comunque meglio, da quel che ho letto, organizzare le classi in modo più naturale, tipo una classe principale che ha le funzioni comuni a tutti e altre classi che ereditano le proprietà generali.

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    274
    si so che public e static sono introdotte nella v5... era riferito solo a Class::$variabile dovrebbe andare anche sul 4, chiedevo solo conferma
    per quanto riguarda le classi invece credo abbia più senso strutturarle come dicevo... almeno in questo caso...

    ora che ci penso... se faccio così

    define(var, valore);

    class Classe {

    }

    e dentro classe e subclasse uso i valori impostati con define? che ve ne pare?
    Progeny

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.