Ciao a tutti, avrei bisogno di qualcuno che mi aiuti a capire l'utilizzo di 'interface' nella creazione di una classe in php.
Io, ad esempio, ho dichiarato una classe interfaccia con questi metodi, che a quanto ho capito devono esse dichiarati o quanto meno implementati nella classe che dichiaro implementata:
Codice PHP:
interface testInterface{
public function getMese();
public function getIdUtenteSessione();
public function getTemporanyUserTable();
public function getTemporanyUserTimeJobTable();
public function getTemporanyUserErrorTable();
}
In seguito dichiaro una classe così:
Codice PHP:
class strumentoRiepilogo implements testInterface{#-----------------------------------------------------------------------------PROPERTY-----------------------------------------------------------------------------------------------------------------
private static $nomeClasse = "strumentoRiepilogo";
protected static $IdUtenteSessione = "No";
protected static $Mese = 0;
protected static $temporanyUserTable = "temporany_table_";
protected static $temporanyUserTimeJobTable = "temporany_timejob_";
protected static $temporanyUserErrorTable = "temporany_error_";
private $globalError = "??";
#-----------------------------------------------------------------------------END PROPERTY-------------------------------------------------------------------------------------------------------------
#------------------------------------------------------------------------------get METHOD--------------------------------------------------------------------------------------------------------------
public function getMese(){ return self::$Mese; }
public function getIdUtenteSessione(){ return self::$IdUtenteSessione; }
public function getTemporanyUserTable(){ return self::$temporanyUserTable; }
public function getTemporanyUserTimeJobTable(){ return self::$temporanyUserTimeJobTable; }
public function getTemporanyUserErrorTable(){ return self::$temporanyUserErrorTable; }
#------------------------------------------------------------------------------END get METHOD----------------------------------------------------------------------------------------------------------
ecc ecc ecc....
In questo caso io ho dichiarato i metodi get PUBBLICI nella classe interfaccia. Se poi dopo nella classe implementata cerco di cambiare il tipo di accesso al metodo, ad esempio lo dichiaro PRIVATE, ,mi restituisce un errore fatale.
Ho notato, inoltre, che se dichiaro, nella classe interfaccia, direttamente i metodi come privati o protetti mi restituisce l'errore fatale nella classe interfaccia.
A questo punto mi viene da chiedere qual'è utilizzo ottimale per utilizzare INTERFACE di php.