Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di madquake
    Registrato dal
    Jun 2008
    residenza
    Manchester
    Messaggi
    85

    Il codice non funziona... posso chiedevi aiuto?

    Salve a tutti...
    Sto cercando di imparare a programmare in PHP. Premetto che di lavoro faccio l'Art Director, quindi ho una mente parecchio astratta e ci arrivo abbastanza lentamente alle cose logiche... tuttavia mi voglio mettere in gioco e credo che con tenaci ce la dovrei fare...

    Sono arrivato all'OOP ma non riesco a far funzionare questo script:

    <?php


    class eroe {

    //aggiungo gli argomenti
    public $name;

    //aggiungo i metodi
    public function getName()
    {
    return $this->name;
    }
    }


    $eroe1 = new eroe();
    $eroe1->name = "Samuel";
    print ("Il primo eroe indicizzato in questa classe si chiama: " . $eroe1->getName . "<br>");


    ?>

    Sono appassionato di una serie chiamata "Misfits" che parla di supereroi e con questa scusa vorrei creare delle classi che descrivano i protagonisti in base a quello che fanno e ai poteri [una scusa come un'altra per creare delle classi].

    Dal manuale che sto leggendo parlano di "public" e "private".
    Dicono che se un argomento è "privato" per determinarne il valore si usa una funzione tipo setName:

    public function setName ($n){
    $this->name = $n;
    }

    mentre se l'argomento è "pubblico", basta dichiararlo all'esterno della classe:

    $eroe1 = new eroe();
    $eroe1->name = "Samuel";

    a parte piccoli errori iniziali tipo dichiarare una classe e richiamarla con un altro nome [cose da novizi], ora funziona tutto tranne per il fatto che non mi viene printato il nome "Samuel" una volta che creo l'oggetto e gli do un nome...

    Posso chiedevi dove ho sbagliato?


    Grazie mille in anticipo per l'aiuto e la pazienza....
    Ciao

  2. #2
    non funziona perche tu fai

    Codice PHP:
    print ("Il primo eroe indicizzato in questa classe si chiama: " $eroe1->getName "<br>"); 
    invece di
    Codice PHP:
    print ("Il primo eroe indicizzato in questa classe si chiama: " $eroe1->getName() . "<br>"); 

    getName() è un metodo

    diverso sarebbe stato se facevi
    Codice PHP:
    print ("Il primo eroe indicizzato in questa classe si chiama: " $eroe1->name "<br>"); 
    name è una proprietà della classe
    Questa volta, più che un voto.. è favoreggiamento.

  3. #3
    Utente di HTML.it L'avatar di madquake
    Registrato dal
    Jun 2008
    residenza
    Manchester
    Messaggi
    85
    Cavoli... perchè getName è una funzione!!!! Ecco qui si capisce perchè ci metto tanto ad impararlo... hahaha la logica non è il mio forte ma sono determinatissimo!!!
    Non so come ringraziarti Al_katraz984 !!!!

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.