Classe astratta base:
Codice PHP:
<?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);
}
Classe figlia base:
Codice PHP:
<?php
namespace cache;

class 
CacheFile extends CacheBuilder interface ICacheFile {
    
    public function 
store($key$data$expiration 0) {
        
        
    }
    
    public function 
buildFileName($cacheFile) {
        
        
    }
    
    
// ...
}
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:
Codice PHP:
class CacheFileLang extends CacheFile {}
class 
CacheFileDB extends CacheFile {}
class 
CacheFileTPL extends CacheFile {} 
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