[Risolto][PHP] Problema astrazione classe
Inviato: martedì 24 maggio 2016, 8:46
Classe astratta base:
Classe figlia base:
Ora vorrei estendere la classe figlia CacheFile per vari argomenti, esempio: file linguistici che provengono dal filesystem, configurazioni e dati generali che provengono dal database e boh qualsiasi cosa che mi venga in mente.
Quindi:
Con il punto che: non voglio inizializzare le classi nipote (CacheFileLang, CacheFileDB, CacheFileTPL) ma voglio comunque utilizzare le loro configurazioni (tipo che ne so la path per le lingue sarà una e per il database sarà un'analtra e per i template un'altra ancora. Voglio essere costretto solo a definire la classe padre CacheFile .
Soluzioni? Grazie
Codice: Seleziona tutto
<?php
namespace cache;
abstract class CacheEngine {
abstract public isCached($key);
abstract public store($key, $data, $expiration = 0);
abstract public erase($key);
abstract public load($key);
}Codice: Seleziona tutto
<?php
namespace cache;
class CacheFile extends CacheBuilder interface ICacheFile {
public function store($key, $data, $expiration = 0) {
}
public function buildFileName($cacheFile) {
}
// ...
}Quindi:
Codice: Seleziona tutto
class CacheFileLang extends CacheFile {}
class CacheFileDB extends CacheFile {}
class CacheFileTPL extends CacheFile {}Soluzioni? Grazie