W interfejsie nie mozesz deklarowac zmiennych, jezeli deklarujesz stala to musisz jej wprzypisac wartosc juz w interfejsie, a jezeli chcesz wymusic na jakims zestawie klas zeby w implementacji okreslac wartosc skladowej to sprobuj uzyc klasy abstrakcyjnej.
<?php
interface JakisInterface
{
public function jakasMetoda ();
}
abstract class AbstractController implements JakisInterface
{
protected $skladowa;
public abstract function setSkladowa ($value);
}
class JakisController extends AbstractController
{
public function setSkladowa ($value)
{
$this->skladowa = $value;
}
public function jakasMetoda ()
{
// Implementacja metody narzuconej przez JakisInterface
}
}
?>
Kombinowalem jeszcze troche z deklowaniem zmiennych jako abstrakcyjne ale:
Cytat
Properties cannot be declared abstract
Interfaces may not include member variables