/**
  *	Constructor which MUST be called from derived Class Constructor
  */
 protected function __construct($strDerivedClassName = null)
 {
     if (!$strDerivedClassName) {
         $strDerivedClassName = __CLASS__;
     }
     parent::__construct($strDerivedClassName);
 }
 /**
  *	Constructor which MUST be called from derived Class Constructor
  */
 protected function __construct($strDerivedClassName)
 {
     parent::__construct(func_num_args() > 0 ? func_get_arg(0) : __CLASS__);
 }