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.
Třídy a metody mohou být final
Třídy a metody mohou být fina
Třída final nemůže být rozšířena
Třída final nemůže být rozšířen
Metoda final nemůže být přetížena v potomkovi
Metoda final nemůže být přetížena v potomkov
Final
Fina
<?php
final class A {
function delejNeco() {}
}
class B extends A {} // fatal error
class C {
class C
final function foo() {}
function bar() {}
}
class D extends C { function bar() {} } // pretizeni metody bar
je OKclass E extends C { function foo() {} } // chyba!!!?>
kuk final.php
Konstanty tříd
Konstanty tří
Konstanty spojené s danou třídou
Konstanty spojené s danou třído
<?php
class A {
const HOST = "localhost";
const USER = "Franta";
}
class B {
const HOST = "faraon.felk.cvut.cz";
const USER = "xklima";
}
echo A::HOST;echo B::HOST;?>
kuk const.php
Magick
Magic é konstanty
é konstant
Sada
Sada kontant
kontan , které ale mění svojí hodnotu podle
, které ale mění svojí hodnotu podle
kontextu
kontext
__LINE__
__LINE_
__FILE__
__FILE_
__DIR__
__DIR_
__FUNCTION__
__FUNCTION_
__CLASS__
__CLASS_
__METHOD__
__METHOD_
__NAMESPACE__
__NAMESPACE_
Jmenné prostory
Jmenné prostor
jednoznačné pojmenování tříd
jednoznačné pojmenování tří
– zabraňuje konfliktům jmen
zabraňuje konfliktům jme
Od PHP 5.3.0
Od PHP 5.3.
klíčové slovo
klíčové slovo namespace
namespac
v jednom souboru může být definováno více
v jednom souboru může být definováno více
jmenných prostorů (ne jako v Javě)
jmenných prostorů (ne jako v Javě
namespace
namespac se vztahuje na
se vztahuje na
– konstanty
konstant
– funkce
funkc
– třídy
tříd
Ukázka
Ukázk
<?php// nas CVUT namespace
namespace Cz\Cvut\Fel\Dcgi\Php;
class Person {
protected $name;
protected $surname;
public function __construct($name, $surname) {
$this->name = $name;
$this->suruname = $surname;
}
}
// nejaky jiny namespace
namespace Cz\Zend\Php;