Hits : 2717

php classes


Classes


Κλάσεις – Αντικείμενα.


Οι δομές προγραμματισμού : κλάσεις / αντικείμενα, αποτελούν ένα τεράστιο κεφάλαιο
σε όλες σχεδόν τις γλώσσες προγραμματισμού. Η προγραμμαστική ιδέα είναι η εξής:
Δημιουργώ ένα πρότυπο (μία μήτρα) και εν συνεχεία χρησιμοποιώ ένα αντίγραφο του
αρχικού προτύπου ως ξεχωριστή οντότητα.


Στην php μία κλάση έχει τα εξής μέρη:

  • Όνομα
  • Μεταβλητές ( ιδιότητες )
  • Συναρτήσεις ( μεθόδοι / διεπαφές )

top


Απλό παράδειγμα


Ένα τυπικό παράδειγμα είναι το εξής :


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");
 
?>

top


Ένα πιο περίπλοκο παράδειγμα


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();
 
?>

top