I Metodi - OOP in PHP

I Metodi - OOP in PHP

Così come le proprietà permettono ad un oggetto di conservare dei dati. I metodi permettono agli oggetti di eseguire dei compiti.

Cosa sono i metodi

Un metodo non è altro che una funzione inserita all'interno di una classe

Per definire un metodo, oltre alla parola chiave function, seguita da un nome di funzione, dobbiamo indicare un livello di visibilità che può essere public, private o protected

Sintassi di un metodo

//dichiarazione di una classe

class NomeClasse {
    // Dichiarazione delle proprietà
    public $proprieta1 = "Questa è una proprieta";

   // Dichiarazione di un metodo
   public function nomeFunzione($argomento1, $argomento2){
       // ... codice da eseguire ...
   }
}

Come accedere alle proprietà da un metodo all'interno di una classe

Per poter accedere alla proprietà all'interno di un metodo (funzione), dobbiamo usare la pseudo variabile $this.

$this rappresenta il riferimento all'oggetto creato dalla classe.

class NomeClasse {
   public $proprieta1 = "Questa è una proprieta"; 

   public function nomeMetodo(){
       echo $this->proprieta1; 
   }
}

Come accedere al metodo di un istanza creata da una classe

Possiamo accedere al metodo con ambito public esternamente ad una classe utilizzando l'operatore ->

// Creazione di un istanza
$nuovoOggetto = new NomeClasse();

// Esempio di accesso ad un metodo pubblico
echo $nuovoOggetto->nomeMetodo();

Esempio di metodo su un istanza creata da una classe

<?php
class User 
{
    // Dichiarazione delle proprietà (variabili)
    public $username = "nome utente";
    public $eta = 33;
    public $email = "mario@rossi.it";
    private $password = "secret123";

    // Dichiarazione del metodo (funzioni)
    public function riepilogo(){
        // Accesso alle proprietà tramite pseudovariabile $this
        return "Utente: $this->username \n"
        . "Età: $this->eta \n"
        . "Email: $this->email \n"
        . "Password: $this->password"; 
    }
}

/* crezione istanza da classe (oggetto) */
$utente1 = new User();

/* Modifica Proprietà */
$utente1->username="DonatoPirolo";
$utente1->eta=33;
$utente1->email="info@wordpress-1040479-3658918.cloudwaysapps.com";

/* Accedere al metodo utilizzando l'operatore -> */
echo $utente1->riepilogo();
?>

Scritto da Donato Pirolo

Ciao, sono Donato, frontend developer con una smisurata passione per la SEO. Creo strumenti ad hoc per aiutare aziende e professionisti ad essere cercati sul web e trovare clienti.

Potrebbero interessarti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Copyright © 2023
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram