Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

🚀 Shopify API Client for PHP

License

NotificationsYou must be signed in to change notification settings

slince/shopify-api-php

Repository files navigation

🚀 PHP SDK for the Shopify API

Software LicenseBuild StatusCoverage StatusLatest Stable VersionScrutinizerTotal Downloads

Installation

Install via composer

$ composer require slince/shopify-api-php

Quick Start

Initialize the client

You first need to initialize the client. For that you need your Shop Name and AccessToken

require__DIR__ .'/vendor/autoload.php';$credential =newSlince\Shopify\PublicAppCredential('Access Token');// Or Private App$credential =newSlince\Shopify\PrivateAppCredential('API KEY','PASSWORD','SHARED SECRET');$client =newSlince\Shopify\Client('your-store.myshopify.com',$credential, ['meta_cache_dir' =>'./tmp'// Metadata cache dir, required]);

Middleware

Middleware augments the functionality of handlers by invoking them in the process of generating responses. Middleware is implemented as a higher order function that takes the following form.

$middleware =function(\Psr\Http\Message\ServerRequestInterface$request,callable$next){$response =$next($request);$this->logger->log($request,$response);return$response;};$client->getMiddlewares()->push($middleware);

Built-in middleware:

Exception

The Client throws the following types of exceptions.

Use Manager to manipulate your data;

  • Lists products
$products =$client->getProductManager()->findAll([// Filter your product'collection_id' =>841564295'page' =>2// deprecated]);
  • Lists products by pagination
$pagination =$client->getProductManager()->paginate([// filter your product'limit' =>3,'created_at_min' =>'2015-04-25T16:15:47-04:00']);// $pagination is instance of `Slince\Shopify\Common\CursorBasedPagination`$currentProducts =$pagination->current();//current pagewhile ($pagination->hasNext()) {$nextProducts =$pagination->next();}# to persist across requests you can use next_page_info and previous_page_info$nextPageInfo =$pagination->getNextPageInfo();$prevPageInfo =$pagination->getPrevPageInfo();$products =$pagination->current($nextPageInfo);
  • Get the specified product
$product =$client->getProductManager()->find(12800);// Update the given product$product =$client->getProductManager()->update(12800, ["title" =>"Burton Custom Freestyle 151","body_html" =>"<strong>Good snowboard!<\/strong>","vendor"=>"Burton","product_type" =>"Snowboard",]);
  • Creates a new product
$product =$client->getProductManager()->create(["title" =>"Burton Custom Freestyle 151","body_html" =>"<strong>Good snowboard!<\/strong>","vendor"=>"Burton","product_type" =>"Snowboard",]);
  • Removes the product by its id
$client->getProductManager()->remove(12800);

The product is an instance ofSlince\Shopify\Manager\Product\Product; You can access properties like following:

echo$product->getTitle();echo$product->getCreatedAt();// DateTime Object//...print_r($product->getVariants());print_r($product->getImages());

Available managers:

You can access the manager like$client->getProductManager(),$client->getOrderManager().

Basic CURD

If you don't like to use managers, you can also manipulate data like this:

The returned value is just an array;

$products =$client->get('products', [// Filter your products]);$product =$client->get('products/12800');$product =$client->post('products', ["product" => ["title" =>"Burton Custom Freestyle 151","body_html" =>"<strong>Good snowboard!<\/strong>","vendor"=>"Burton","product_type" =>"Snowboard","images" => [            ["attachment" =>"R0lGODlhAQABAIAAAAAAAAAAACH5BAEAAAAALAAAAAABAw==\n"            ]        ]     ]]);$product =$client->put('products/12800', ["product" => ["title" =>"Burton Custom Freestyle 151","body_html" =>"<strong>Good snowboard!<\/strong>","vendor"=>"Burton","product_type" =>"Snowboard","images" => [            ["attachment" =>"R0lGODlhAQABAIAAAAAAAAAAACH5BAEAAAAALAAAAAABAw==\n"            ]        ]     ]]);$client->delete('products/12800');

LICENSE

The MIT license. SeeMIT


[8]ページ先頭

©2009-2025 Movatter.jp