Вместо того, чтобы жестко кодировать важные детали в вашем классе, вы присваиваете значения по умолчанию параметрам и затем предоставляете значения для этих параметров во время выполнения.
Эта же идея может использоваться для других методов, которые имеют параметр, например, item_lookup
в настоящее время имеет атрибут $id
, но выглядит так, как будто вы можете назначить другой параметр для $operation
(если это никогда не изменится)
public function __construct( $affid=false, $access=false, $secret=false ){
if( $affid && $access && $secret ){
$this->amazon_aff_id = $affid;
$this->amazon_access_key = $access;
$this->amazon_secret_key = $secret;
} else {
trigger_error('Affid, Access and Secret are required');
}
}
Так, когда класс вызывается, вы будет делать что-то вроде:
error_reporting( E_ALL );
$affid = 'mybuyerxpo1-20';
$access = 'AKIAJWDJOLXYKUIB537A';
$secret = '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';
$app=new AmazonAPI( $affid, $access, $secret );