Eddie: Wie zwinge ich eine Unterklasse zum Setzen einer Variablen?

Beitrag lesen

Hallo Olaf,

Mir ist noch nicht ganz klar, wofür Du überhaupt Deine Variable brauchst?

Weil das Escaping wiederum im Konstruktur der abstrakten Superklasse ablaeuft, abhängig vom Inhalt der Variablen.

Konkret:

  
abstract class Search  
{  
    const SEARCHTYPE_DB = 1;  
    const SEARCHTYPE_FILESYSTEM = 2;  
  
    protected $int_searchType = null;  
  
    public function __construct($str_searchString)  
    {  
        if (!in_array($this->int_searchType, array(self::SEARCHTYPE_DB, self::SEARCHTYPE_FILESYSTEM)))  
        {  
            // nicht gesetzt  
            throw new Exception();  
        }  
  
        if ($this->int_searchType == self::SEARCHTYPE_DB)  
        {  
            // TODO:  
            $str_searchString = addslashes($str_searchString);  
        }  
        else if ($this->getSearchType() == self::SEARCHTYPE_FILESYSTEM)  
        {  
            // TODO:  
            $str_searchString = escapeshellarg($str_searchString);  
        }  
  
        $this->str_searchString = $str_searchString;  
    }

Eddie

--
Old men and far travelers may lie with authority.