whirlwind
TDD infected, paranoid
Передача по ссылке и вызов parent::
Уработался что-ли. Не пойму в чем загвоздка.
Это метод базового класса
В наследнике переопределяю - не работает. Ощущение такое, что getCurrentPeriods получает не ссылки, а копии
вызов идет так
Прототип метода инструмента такой
т.е. фактически совпадает по аргументам, однако если оставить в переопределенном parent::getCurrentPeriods, то значение $endneg остается прежним. Если раскомментировать в getCurrentPeriods в наследнике те строки, где напрямую обращение к инструменту - работает. Ткните носом где я туплю?
Уработался что-ли. Не пойму в чем загвоздка.
Это метод базового класса
PHP:
function getCurrentPeriods($advert,&$begpos,&$begneg,&$endpos,&$endneg){
$tool = $this->getTool("AdvertRoutines");
$tool->getCurrentPeriods($advert,$begpos,$begneg,$endpos,$endneg);
return true;
}
PHP:
function getCurrentPeriods($advert,&$begpos,&$begneg,&$endpos,&$endneg){
if ( $this->requisite("use_date")->getValue() ){
$tk = new Controller_Toolkit;
$beg = $tk->getDate($this,"beg_");
$end = $tk->getDate($this,"end_",true);
$begpos = $beg;
$begneg = $beg;
$endpos = $end;
$endneg = $end;
return true;
}
//$tool = $this->getTool("AdvertRoutines");
//$tool->getCurrentPeriods($advert,$begpos,$begneg,$endpos,$endneg);
//return true;
return parent::getCurrentPeriods($advert,$begpos,$begend,$endpos,$endneg);
}
PHP:
function nextElement(){
// skipped
$tool = $this->getTool("AdvertRoutines");
$time = new Atom_Timestamp();
$time->addDays(1);
$begpos = $begneg = $endpos = $endneg = $time->getValue();
$this->getCurrentPeriods($advert,$begpos,$begneg,$endpos,$endneg);
// skipped
}
PHP:
function getCurrentPeriods($advert,&$begpos,&$begneg,&$endpos,
&$endneg,$holdmoneyperiod=null)
))))