nie wiem czy rozumiem o co pytasz, ale zmienna w metodzie może być typu abstrakcyjnego albo interfacem, tak samo zadeklarowana zmienna w klasie. Podaj przykład co Ci nie działa, zobaczymy razem
@yelm: chciałem wymusić posiadanie zmiennej przez dziedziczenie lub interfejs. W obu przypadkach nie da się tego zrobić, interfejs nie może mieć zmiennych i zmienna nie może być abstrakcją
@MartinPL: tak to jest jedna z tych rzeczy których mi w #php brakuje. Niby wprowadzili propy public readonly i można zrezygnować z getterów, ale propów nie da się definiować, a gettery tak.
3 lata temu pojawiła się już propozycja RFC > https://wiki.php.net/rfc/property_accessors (sekcja Properties in interfaces), ale raczej nie prędko to ujrzymy (jeśli w ogóle).
@nowiutki: w pytaniu jest o interface lub abstrakcje. Przez abstrakcję się da a przez interface nie bo nie można w nim deklarować zmiennych. Moim zdaniem nie ma co tu rozpaczać i pisać WTF, skoro tylko 3 mainstreamowe języki to wspierają, a znaczna większość nie. Ale masz rację, że może i by się teraz przydało móc takie coś zrobić.
BTW w Javie: Variables which declared in interface are by default public,
#php
3 lata temu pojawiła się już propozycja RFC > https://wiki.php.net/rfc/property_accessors (sekcja Properties in interfaces), ale raczej nie prędko to ujrzymy (jeśli w ogóle).
<?php
abstract class
interface UserInterface {
// Interface requires that property is public readable.
public readonly string
BTW w Javie: Variables which declared in interface are by default public,