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