Jazyk PHP - pokračování
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
class Person {
protected $name;
protected $surname;
public function __construct($name, $surname) {
$this->name = $name;
$this->suruname = $surname;
}
}
Ukázka
Ukázk
// plne kvalifikovana jmena
$p1 = new \Cz\Cvut\Fel\Dcgi\Php\Person("Frantisek", "Vomacka");
$p2 = new \Cz\Zend\Php\Person ("Jaroslav", "Pazout");
// $p1 a $p2 jsou instance ruznych trid! zde je dukaz:
if ($p1 instanceof \Cz\Cvut\Fel\Dcgi\Php\Person) {
echo ("\$p1 je instanci tridy \\Cz\\Cvut\\Fel\\Dcgi\\Php\\Person \n");
}
else {
echo ("\$p1 neni instanci tridy \\Cz\\Cvut\\Fel\\Dcgi\\Php\\Person \n");
}
if ($p1 instanceof \Cz\Zend\Person) {
echo ("\$p1 je instanci tridy \\Cz\\Zend\\Person \n");
echo ("\$p1 je instanci tridy \\Cz\\Zend\\Person \n")
}
else {
echo ("\$p1 neni instanci tridy \\Cz\\Zend\\Person \n");
}
?>
Magické metody
Magické metod
__construct
__construc
__destruct
__destruc
__call
__cal
__
_ callStatic
callStati
__sleep
__slee
__wakeup
__wakeu
__
_ toString
toStrin
některé metody jsou tzv. magické
některé metody jsou tzv. magick
Řízení
serializace
Serializace do
řetězce
konstruktor
destruktor
je zolána v případě,
že voláme neexistující
metodu
__
_ callStatic
callStati
__get
__ge
__set
__se
__
_ isset
isse
__unset
__unse
__invoke
__invok
__
_ set_state
set_stat
__clone
__clon
řetě
třída se může
chovat jako fce
volána před
klonováním
metodu
je zolána v případě,
že voláme neexistující
vlastnost
OOP
OO v PHP5
v PHP5 - klonov
klono ání objektů
ání objekt
v php 4 není, klonují se předáváním hodnotou
v php 4 není, klonují se předáváním hodnoto
v php 5 speciální metoda
v php 5 speciální metod
Klonování v praxi
Klonování v prax
<?php
class A {
var $x = 1;
}
$instance1 =
new A();
$instance1->x = 10;
$instance1->x = 10
$instance2 =
clone $instance1;
$instance2->x = 20;
echo $instance1->x; // 10;echo $instance2->x; // 20;
?>
kuk cloning.php
Klonování zpětná kompatibilita
Klonování zpětná kompatibilit
<?php
if (version_compare(phpversion(), '5.0') < 0) {