Homepage Site Map


   
PROGRAMMAZIONE
   FARE WEB
   HTML
   CSS
   PHP
   MySQL
   XML - XSL
GRAFICA
   PAINT SHOP
   ANIMATION SHOP
   SWISH
   SWISHMAX
SCRIPT
   JAVASCRIPT
   PHP
   APPLET JAVA
   CSS GENERATOR
   WEB TOOLS
DOWNLOAD
   FONTS
   ICONE E AVATAR
   SMILES
   GIF ANIMATE
   CURSORI
   CALENDARI
   KAOANI
   BASI BANNER
   SCREENMATES
   MEEGOS
   GIOCHI
   VIDEO E PPS
ARTICOLI
   ARTICOLI
   GUADAGNA SITO
LINKS
   LINK TO ME
   VOTAMI
   SCAMBIO LINK
   SCAMBIO BANNER


zanox Partner promuovono Partner


 
  

Home -> Manuali e Tutorials -> Guida PHP -> Classi  (1/3)


Scarica il tutorial      |    Stampa il tutorial      |    Cerca nel sito      



CLASSI PHP



Una classe è una collezione di variabili e funzioni che utilizzano le variabili definite all'interno della classe stessa per svolgere determinate azioni. Di seguito è riportato il codice semplificato per definire una classe:


<?php
class nome_classe
{
        var $nome_variabile; // DEFINIZIONI VARIABILI
        var ...

        function nome_funzione ( $var1, $var2, ... ) // DEFINIZIONI FUNZIONI
        {
                ...
        }

}
?>


Un esempio di classe è il seguente:


<?php
class Cart
{
        var $items; // Articoli nel carrello

        // Aggiunge $num articoli di $artnr nel carrello


        function add_item ($artnr, $num)
        {
                $this->items[$artnr] += $num;
        }

        // Prende $num articoli di $artnr e li rimuove dal carrello

        function remove_item ($artnr, $num)
        {
                if ($this->items[$artnr] > $num) {
                        $this->items[$artnr] -= $num;
                        return true;
                } else {
                        return false;
                }
        }
}
?>


Il codice definisce una classe chiamata Cart composta da un array associativo che archivia gli articoli nel carrello e due funzioni per aggiungere e rimuovere gli articoli dal carrello stesso.

Avvertimento: NON spezzate una definizione di classe in più file o in più blocchi PHP. Il seguente codice non funziona:


<?php
class test {
?>
<?php
        function test() {  print 'OK';  }
}
?>


In PHP 4, sono permesse inizializzazioni di variabili con valori costanti solamente grazie all'uso di var. Per inizializzare variabili con valori non costanti, bisogna creare una funzione di inizializzazione che viene eseguita automaticamente durante la fase di istanza della classe stessa. Questo tipo di funzione si chiama costruttore.


<?php

/* questo non funziona in PHP 4. */

class Cart
{
        var $todays_date = date("Y-m-d");
        var $name = $firstname;
        var $owner = 'Fred ' . 'Jones';
        var $items = array("VCR", "TV");
}

/* Questo è corretto. */

class Cart
{
        var $todays_date;     // Queste sono le PROPERTIES
        var $name;
        var $owner;
        var $items;

        function Cart()     // Questo è il COSTRUTTORE
        {
                $this->todays_date = date("Y-m-d");
                $this->name = $GLOBALS['firstname'];
                /* etc ... */       
        }
}
?>


Si definisce Property di una classe la variabile chiamata con il var all'inizio della classe stessa, ed avente un nome qualsiasi.

Istanziare una classe significa assegnare la classe ad una variabile usando la funzione natia new. Per creare quindi una variabile oggetto si usa l'operatore new.

I costruttori sono funzioni che esistono in una classe e che sono chiamate automaticamente quando si crea una nuova istanza di una classe con new. In PHP 3, una funzione si transforma in in un costruttore quando ha lo stesso nome di una classe. In PHP 4, una funzione diventa un costruttore quando ha lo stesso nome di una classe ed è definita all'interno della classe stessa; la differenza è sottile, ma cruciale.


<?php
class Cart2
{
        var $items;
        function add_item ($artnr, $num)
        {
                $this->items[$artnr] += $num;
        }
        function remove_item ($artnr, $num)
        {
                if ($this->items[$artnr] > $num) {
                        $this->items[$artnr] -= $num;
                        return true;
                } else {
                        return false;
                }
        }
}
$cart2 = new Cart2;
$cart2->add_item("10", 1);
$another_cart2 = new Cart2;
$another_cart2->add_item("0815", 3);

print_r($cart2);
print_r($another_cart2);
?>


Il codice sopra, genera gli oggetti $cart2 e $another_cart2, dalla classe Cart2. La funzione add_item() dell'oggetto $cart2 è chiamata per aggiungere una ricorrenza dell'articolo numero 10 a $cart2 (una sorta di carrello spesa). Ad $another_cart2 sono aggiunte 3 ricorrenze dell'articolo numero 0815.

L'output è:

cart2 Object ( [items] => Array ( [10] => 1 ) )
cart2 Object ( [items] => Array ( [0815] => 3 ) )


Il separatore del pathname nome_oggetto / funzione_classe è ->.
$cart2->items e $another_cart2->items sono due diverse variabili che differiscono per il nome.

Si noti che la variabile si chiama $cart2->items, e non $cart2->$items, questo perchè le variabili in PHP si scrivono con un unico simbolo di dollaro.

Per poter accedere alle funzioni e alle variabili interne di una classe si usa la pseudo-variabile $this che può essere letta come 'la mia\il mio' o 'di questo oggetto'.





Torna su      |    Indice Guida      |    Pagina << 17 >>    


Vai al W3C CSS Validator toolkit.
Realizzato con PHP. Vai al sito ufficiale del PHP.
Testato anche con Mozilla Firefox. Vai al sito ufficiale.

Home     Contacts     Forum     FAQ     Newsletter     Mappa     Cerca     Link to me

  Vedi gli RSS del sito.      

-->  [Il tuo link qui]