phpclassic / php-shopify

PHP SDK for Shopify API
Apache License 2.0
568 stars 211 forks source link

How to create multiple shopify objects to access multiple stores #61

Open vuivenao opened 5 years ago

vuivenao commented 5 years ago

Hi everybody, I want to update data to my two Shopify stores. But if I changed a config of Shopify SDK, it's not working. Object 1 of store 1 is same to Object 2 of store 2.

Here 's my code:

PHPShopify\ShopifySDK::config($config_store_1);
$shopify_1 = new PHPShopify\ShopifySDK;

PHPShopify\ShopifySDK::config($config_store_2);
$shopify_2 = new PHPShopify\ShopifySDK;

$locations_1 = $shopify_1->Location->get();
echo json_encode($locations_1)."<br/><br/><br/>==========================<br/><br/><br/>";

$locations_2 = $shopify_2->Location->get();
echo json_encode($locations_2);

===> $locations_1 is same to $locations_2

Please help me. Thanks!

vicn1222 commented 5 years ago

I have exactly the same issue. It appears PHPShopify\ShopifySDK is a singleton.

I need to clone/copy from one store to another. But the 2nd shopify store object overrides the 1st one. I have limited knowledge on using php object, but it appears to be the same as using "static" in C/C++.

Can someone please look into this issue?

Thank you!

vicn1222 commented 5 years ago

After looking at the code, I see “static” is used throughout the class. That is the bug,

vicn1222 commented 5 years ago

I made the changes to support multiple instances of ShopifySDK

How can I submit the changes for review? Can someone check in for me?

Thanks!

fixBug.tar.gz

vicn1222 commented 3 years ago

The static for config is never fixed. It is still there.

adviewmx commented 2 years ago

you need change the 3 files in the issue https://github.com/phpclassic/php-shopify/issues/61#issuecomment-465708743