No, quello sarebbe un codice errato.
L'interfaccia contiene le dichiarazioni dei metodi, ma non le definizioni. Non puoi definire il metodo BadLogin all'interno dell'interfaccia.
Nel tuo esempio un uso possibile potrebbe essere questo:
[php]
interface Warning
{
function BadLogin();
}
class Utente implements Warning
{
function BadLogin()
{
return '<div class="wrn">Login utente errato</div>';
}
}
class Admin implements Warning
{
function BadLogin()
{
return '<div class="wrn">Login admin errato</div>';
}
}
[/php]
In questo modo implementi i metodi dell'interfaccia personalizzandoli classe per classe.
Se non intendi personalizzarli, ma lasciarli generici, puoi utilizzare gli attributi costanti nell'interfaccia:
[php]
interface Warning
{
const BadLogin='<div class="wrn">Login utente errato</div>';
}
class Utente implements Warning
{
function Login()
{
....
if ($Login_Errato) return self::BadLogin;
}
}
class Admin implements Warning
{
function Login()
{
....
if ($Login_Errato) return self::BadLogin;
}
}
[/php]
Alessandro