PHP7にしたらRedefinition of parameter   


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

PHP5.6系だと機嫌よく動いてるので、原因は仕様変更なんでしょう。
教えてグーグルさんと検索すると、
「DQNEO起業日記」というブログにいろいろ詳細乗っており、

そこに
「関数のパラメータで同じ変数名を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さんありがとう!

0 件のコメント :

コメントを投稿