<?php
namespace PHPFacile\Tuto;
use BibliothequeAutre\CoolClasse;
use BibliothequeAutre2\CoolClasse as CoolClasse2;
abstract class MaClasseAMoi extends CoolClasse implements MonInterface1, MonInterface2
{
const MA_CONSTANTE_DE_CLASSE = 'constante';
protected $maVariableMembre;
abstract public function maMethodeAbstraite($param);
public function __construct($param)
{
$this->maVariableMembre = $param;
}
public function maMethode()
{
try {
$val = self::maMethodeStatique($this->maVariableMembre);
} catch (\Exception $e) {
// Exception levée
} finally {
// Depuis PHP 5.5
}
}
public static function maMethodeStatique($param)
{
if ($param instanceof CoolClasse) {
echo '$param est une instanciation "directe" de CoolClasse ou hérite de CoolClasse';
}
}
protected function maMethodeProtegee($param)
{
// get_class() retourne le nom de la classe sous forme de chaîne de caractères
return get_class($param);
}
final private function maMethodePriveeEtFinale($param)
{
return self::MA_CONSTANTE_DE_CLASSE;
}
}
<?php
namespace PHPFacile\Tuto;
interface MonInterface1
{
const MA_CONSTANTE_DE_CLASSE_2 = 'constante';
public function maMethode();
}