2016-06-29 5 views
0

メソッドパラメータに非常に奇妙な問題があります。オプションパラメータは常にデフォルト値に設定されます

public function getOverstock($getQtyOrdering = false) { 
     var_dump('here', $getQtyOrdering); 
     if ($getQtyOrdering === false) { 
      return $this->overstock; 
     } 

     //sort the collection by the quantity field before returning 
     $iterator = $this->overstock->getIterator(); 
     $iterator->uasort(function ($a, $b) { 
      return ($a->getQty() < $b->getQty()) ? 1 : -1; 
     }); 
     $sortResult = new \Doctrine\Common\Collections\ArrayCollection(iterator_to_array($iterator)); 
     return $sortResult; 

    } 

このように呼ばれている:

パラメータがダンプされ
$overstocks = $line->getOption()->getOverstock(true); 

、それは常にfalseです

私はこの方法を持っています。これはどのように可能ですか?

+2

提供されたコードだけでは、あなたが暗示していることはできません。他に何かが起こっている。 –

+0

おそらくあなたは別の場所から関数を呼び出しますか? – Izopi4a

+0

@JonStirling私は完全にそれを受け入れる準備ができていますが、私は考えることも、Googleはこれらの症状に近いどこにでも私を得ることはできません。他の有益な情報があれば、私はそれが何であるか分かりません。 – steelpush

答えて

1

提供した内容に間違いはありません。これは決まったことでもありません。

このメソッドがfalseになっている場合、そのメソッドをfalse(または何も指定しない)で呼び出すコードがあるか、途中の何かによってコールが傍受されています。あれやこれやで。

PHPはデフォルトでargをランダムに上書きしません。

関連する問題