php classes
Classes
Κλάσεις – Αντικείμενα.
Οι δομές προγραμματισμού : κλάσεις / αντικείμενα, αποτελούν ένα τεράστιο κεφάλαιο
σε όλες σχεδόν τις γλώσσες προγραμματισμού. Η προγραμμαστική ιδέα είναι η εξής:
Δημιουργώ ένα πρότυπο (μία μήτρα) και εν συνεχεία χρησιμοποιώ ένα αντίγραφο του
αρχικού προτύπου ως ξεχωριστή οντότητα.
Στην php μία κλάση έχει τα εξής μέρη:
- Όνομα
- Μεταβλητές ( ιδιότητες )
- Συναρτήσεις ( μεθόδοι / διεπαφές )
Απλό παράδειγμα
Ένα τυπικό παράδειγμα είναι το εξής :
classes.php
<?php class SimpleClass { // member declaration public $var = 'a default value'; // method declaration public function displayVar($var) { if ( empty($var) ) $var = $this->var; echo $var; echo "<br>"; } } $sc = new SimpleClass; echo "<font color=blue>Παράδειγμα μίας απλής κλάσης : </font>" ; $sc->displayVar(); echo "<font color=blue>Ορίζω εγώ το όρισμα : </font>"; $sc->displayVar("TEST"); ?>
Ένα πιο περίπλοκο παράδειγμα
classes.php
<?php class SimpleClass { public $var = "a default value"; public function displayVar($var) { if ( empty($var) ) $var = $this->var; return $var . "<br><hr>\n"; } } class PageHtml { public $title = "A simple title page"; public $charset = "utf-8"; public $text = " Test body "; public function display_header($title, $charset) { if ( empty($title) ) $title = $this->title; if ( empty($charset) ) $charset = $this->charset; $header = "<html>\n"; $header .= "<head>\n"; $header .= "<title>".$title."</title>\n"; $header .= "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=".$charset."\" />\n"; $header .= "</head>\n"; $header .= "<body>\n"; return $header; } public function display_body($text) { if ( empty($text) ) $text = $this->text; $body = "<p>\n"; $body .= $text; $body .= "</p>\n"; return $body; } public function display_footer() { $footer = "</body>\n"; $footer .= "</html>\n"; return $footer; } } ?>
page.php
<?php error_reporting(E_ERROR); include_once("classes.php"); $p = new PageHtml; echo $p->display_header(); echo "<hr>"; echo $p->display_body("This is a body test"); echo "<hr>"; echo $p->display_body(); echo "<hr>"; $sc = new SimpleClass; echo "<font color=blue>Παράδειγμα μίας απλής κλάσης : </font>" ; echo $p->display_body($sc->displayVar()); echo $p->display_footer(); ?>