PHP7にしたらRedefinition of parameter   


先日MWSを使用した実行環境のPHPを5.6系からPHPを7にあげたら
アマゾンの提供するソースのほうの
MarketplaceWebServiceProducts\Model\ResponseHeaderMetadata.php on line 31
Redefinition of parameter $quotaMax 
のエラーがでた。

PHP5.6系だと機嫌よく動いてるので、原因は仕様変更なんでしょう。
教えてグーグルさんと検索すると、
「DQNEO起業日記」というブログにいろいろ詳細乗っており、
http://dqn.sakusakutto.jp/2015/07/php7_trap.html
そこに
「関数のパラメータで同じ変数名を2回書いたらエラーに」
という記述がありました。

いまいち僕は、そもそもこういうことをやる理由がわかりませんが
(ブログ筆者も深淵な理由と記述)
とりあえずもう使えないということで
該当箇所の
 
public function __construct($requestId = null, $responseContext = null
  , $timestamp = null, $quotaMax = null, $quotaMax = null, $quotaResetsAt = null) {
を
public function __construct($requestId = null, $responseContext = null
  , $timestamp = null, $quotaMax_1 = null, $quotaMax = null, $quotaResetsAt = null) {
な感じで適当な名前に変更して難を逃れました。

DQNEOさんありがとう!