Rispondi 
[HOW-TO] Creare una Classe in PHP
Modo discussione Modo lineare
07-01-2007, 11:03 PM #1
Namaless
Forumista Attivo
****
Registrato: Nov 2007
Messaggi: 320
Reputazione: 0
[HOW-TO] Creare una Classe in PHP
Link Sponsorizzati
Premetto che non mi soffermero' su alcuni semplici passaggi come spiegare cosa e' una funzione oppure una variabile.

L'autore presuppone che almeno le basi di PHP ci siano...


Allora vediamo un po'... cosa potrebbe fare questa classe? Gestire gli upload, inviare semplicemente una email... oppure... boh :19:
Sinceramente non mi viene in mente niente xD pero' qualcosa dobbiamo fare, allora faremo una classe che ci da'? varie informazioni, tra cui la versione di php del server, il vostro indirizzo ip, ecc...
Una cosa piuttosto semplice che vi fara'? capire come funziona una classe PHP :13:

Allora partiamo con il definire la classe:
Codice:
<?php
class Informations
{
function __construct(){}
function __destruct(){}
}
?>


Vi informo fin da subito che io sviluppo sotto php5 per cui non staro' attendo alla retrocompatibilita'?!


Esempio la classe per essere compatibile con php4 avrei dovuto definirla cosi':
Codice:
<?php
class Informations
{
function Informations(){}
}
?>
Il costrutto
Che diavolo e'? :/
Il costrutto non e' altro che l'oggetto che viene costruito al momento della creazione.
Creando l'oggetto facendo una cosa del genere:
Codice:
$info = new Informations();
Viene creato l'oggetto "$info" e alla sua creazione viene eseguita la funzione __construct mentre alla chiusura dell'oggetto (al momento in cui non e' piu' necessario) si distrugge con la funzione __destruct.

Bene, ora che abbiamo definito la classe dobbiamo definire che diavolo farli fare xD

Allora per prima cosa creiamo una funzione che restituisca a video la versione di php installato sul server:
Codice:
public function get_php_version()
{
return phpversion();
}
Questo pero' fara'? tornare la versione di php e non stampare... aggiungiamo una funzione optionale che ci permetta di controllare se stampare a video oppure far tornare il valore:
Codice:
public function get_php_version($return = TRUE)
{
if ($return === FALSE)
{
echo phpversion();
}
else
{
return phpversion();
}
}
Praticamente tramite l'optione $return che di predefinito e' impostato su TRUE per cui di predefinito fara'? tornare il risultato mentre se lo impostiamo su FALSE allora stampera'? a video.

Facciamo che ve la faccio subito provare :P

Create un nuovo file del tipo "informations.class.php" e metteteci questo testo all'interno:
Codice:
<?php
class Informations {
function __construct(){}
function __destruct(){}

public function get_php_version($return = TRUE)
{
if ($return === FALSE)
{
echo phpversion();
}
else
{
return phpversion();
}
}
}
?>
Bene, adesso create un nuovo file denominato una cosa del genere "prova.php" con il seguente codice:
Codice:
<?php
include ('informations.class.php');
$info = new Informations();

// stampa a video
$info->get_php_version(FALSE);

// ritorna il valore
echo $info->get_php_version();

?>
Io vi lascio la possibilita'? di testare sei un metodo che l'altro, per bloccare un metodo basta commentare la riga interessata wink

Be' ve la spiego pero' mi sembra molto semplice:
Codice:
include ('informations.class.php');
Include la classe sopra creata.

Codice:
$info = new Informations();
Costruisce l'oggetto $info dalla classe Informations.

Codice:
$info->get_php_version(FALSE);
Stampa a video la versione di php.

Codice:
$info->get_php_version();
Restituisce il risultato e va'? quindi stampato a video tramite il comando "echo".


Supponiamo per un momento che io sia normale e non fuori di testa come sempre... voglio che sia visualizzato l'immagine del logo di php :/

La prima cosa che ci viene in mente e' di linkare l'immagine e via.. ma questo consumera'? banda, quindi aggiungiamo un'altro metodo per farvi capire l'uso di + metodi:
Codice:
class Informations {
function __construct(){}
function __destruct(){}

public function get_php_version($return = TRUE)
{
if ($return === FALSE)
{
echo phpversion();
}
else
{
return phpversion();
}
}

public function get_php_img($return = TRUE)
{
if ($return === FALSE)
{
echo '<img src="' . $_SERVER['PHP_SELF'] .
    '?=' . php_logo_guid() . '" alt="PHP Logo !" />';;
}
else
{
return '<img src="' . $_SERVER['PHP_SELF'] .
    '?=' . php_logo_guid() . '" alt="PHP Logo !" />';;
}
}
}
Solito modo e optione della funzione di prima:
Codice:
$info->get_php_img()
Restituisce l'immagine di php senza stamparla.

Codice:
$info->get_php_img(FALSE);
Stampa a video il logo di php.

Che ne dite?

Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
07-01-2007, 11:03 PM
Link Sponsorizzati
07-28-2007, 02:07 AM #2
probid
Forumista
****
Registrato: Dec 2006
Messaggi: 168
Reputazione: 0
RE: [HOW-TO] Creare una Classe in PHP
Molto utile,grazie Namaless per aver condiviso le tue conoscenze con il forum. 07

Admin dimessosi

Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
12-05-2007, 05:56 PM #3
larchitetto
Apprendista
**
Registrato: Apr 2007
Messaggi: 74
Reputazione: 0
RE: [HOW-TO] Creare una Classe in PHP
Citazione:Supponiamo per un momento che io sia normale e non fuori di testa come sempre... voglio che sia visualizzato l'immagine del logo di php :/

La prima cosa che ci viene in mente e' di linkare l'immagine e via.. ma questo consumera' banda, quindi aggiungiamo un'altro metodo per farvi capire l'uso di + metodi:

non ho ben capito la storia del logo e della banda ciucciata... ovvero nel codice non ho ben inteso come si possa risolvere sto ciucciamento di banda coatto xD mi spieghi meglio? =O

thx

LarchitettO

Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
12-06-2007, 03:36 AM #4
Namaless
Forumista Attivo
****
Registrato: Nov 2007
Messaggi: 320
Reputazione: 0
RE: [HOW-TO] Creare una Classe in PHP
In pratica la funzione permette di caricare l'immagine di php direttamente dall'interprete php senza dover linkare l'immagine.. 07

Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
12-06-2007, 06:58 AM #5
larchitetto
Apprendista
**
Registrato: Apr 2007
Messaggi: 74
Reputazione: 0
RE: [HOW-TO] Creare una Classe in PHP
tutto questo avviene quando immagine e interprete risiedono sulla stessa macchina no?

cmq nel momento in cui un browser ne richiede l'immagine, essa stessa sara' sparata via banda (e qua non si pui' fare niente). ma la "furbata" sta nel fatto che anziche' prendere l'immagine via http (quindi fa il giro lungo sulla rete per poi tornare sulla stesa macchina) la prende direttamente dalle cartelle del server senza troppi giri e rigiri?
io credevo che usando il localhost come indirizzo locale, facesse sta cosa in automatico e che, procedendo via ip pubblico (o dns), anche se il client e server coincidessero, solo in quel caso l'immagine farebbe il giro inutile di cui sopra...

ok raga ho sonno lol
cmq che mi dici a riguardo? =)

$_SERVER['PHP_SELF'] cosa restituisce di preciso?

grazie

LarchitettO

Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
Rispondi 

[HOW-TO] Creare una Classe in PHP
Mostra modalità stampabile
Invia questa discussione ad un amico
Sottoscrivi questa discussione
Vai al forum:

Orario: 03-18-2010, 07:51 AM

Contattaci - Webbando - Modalità archivio - RSS Syndication - Torna all'inizio della pagina