Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ. (επεξεργασμένο)

Καλησπερα,

 

εχω μαθει μεχρι ωρας php στο επιπεδο που με ενδιαφερει και μπορω,και αρχισα να μαθαινω σιγα σιγα και τον object-oriented χαρακτηρα της.

 

σε ενα παραδειγμα που προσπαθησα να κανω ομως εχω ενα προβλημα και θα ηθελα μια βοηθεια.

 

ο κωδικας ειναι ο εξης:

 

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <?php
            
        class  Books{
    /* Member variables */
    var $price;
    var $title;
    /* Member functions */
    function setPrice($par){
       $this->price = $var;
    }
    function getPrice(){
       echo $this->price ."<br/>";
    }
    function setTitle($par){
       $this->title = $par;
    }
    function getTitle(){
       echo $this->title ." <br/>";
    }
}
               $physics = new Books;
   $maths = new Books;
   $chemistry = new Books;
            
            //Passing data into objects
            $physics->setTitle( "Physics for High School" );
            $chemistry->setTitle( "Advanced Chemistry" );
            $maths->setTitle( "Algebra" );

            $physics->setPrice( 10 );
            $chemistry->setPrice( 15 );
            $maths->setPrice( 7 );
            
            //Echoing data 
            $physics->getTitle();
            $chemistry->getTitle();
            $maths->getTitle();
            $physics->getPrice();
            $chemistry->getPrice();
            $maths->getPrice();
        ?>
    </body>
</html>

 

το προβλημα ειναι οτι οταν το τρεχω αυτο,δεν εμφανιζει τα αποτελεσματα απο τα getPrice()..δηλαδη εμφανιζει μονο τα ονοματα των βιλβιων και οχι τις τιμες τους..

 

εχει κανεις καμια ιδεα?

 

ευχαριστω!



update:τελικα το προβλημα ηταν ενα συντακτικο λαθος.διορθωθηκε. (αντι για $par ειχα γραψει $var)

Επεξ/σία από koslibpro
Δημοσ.

Ωστόσο θα πρέπει την class books να την έχεις σε διαφορετικό αρχείο. Πρακτικά για να μπορείς να τη χρησιμοποιήσεις από οποιοδήποτε άλλο αρχείο και γενικά γιατί πρέπει να μαθεις να κάνεις κάποια πράγματα με το σωστό τρόπο από την αρχή.

Δημοσ.

function setPrice($par){
       $this->price = $var;
    }

 

άλλο $par άλλο $var :)

 

Όχι ότι δεν θα σου προσφέρει το να καταφέρεις να εντοπίζεις typo λάθη με το μάτι, αλλά ενα εργαλείο για editing (πχ NetBeans, Eclipse ή PHPStorm) θα σε βοηθούσε πολύ να γλυτώσεις χρόνο.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...