Tutorial ini menunjukkan cara mengkonfigurasi tetapan kedai eBay menggunakan API Perdagangan eBay. Bahagian 1 meliputi persediaan papan pemuka dan pangkalan data pemaju; Bahagian ini memberi tumpuan kepada tetapan kedai, dengan bahagian 3 yang meliputi penambahan produk.
Konsep Utama:
Ebay
Menyediakan kebergantungan:
Pasang perpustakaan yang diperlukan menggunakan komposer. Buat: composer.json
{ "require": { "slim/slim-skeleton": "dev-master", "slimcontroller/slimcontroller": "dev-master", "guzzlehttp/guzzle": "4.*", "vlucas/valitron": "~1.2", "codeguy/upload": "*" }, "autoload": { "classmap": [ "controllers", "classes" ] } }
Buat
: index.php
<?php require 'vendor/autoload.php'; $app = new \SlimController\Slim([ 'templates.path' => 'templates' ]); $app->view(new \Slim\Views\Twig()); $app->view->parserOptions = [ 'charset' => 'utf-8', 'cache' => realpath('templates/cache'), 'auto_reload' => true, 'strict_variables' => false, 'autoescape' => true ]; $app->hook('slim.before', function () use ($app) { $app->view()->appendData(['baseUrl' => '/tester/ebay_trading_api']); }); $app->container->singleton('ebay', function () use ($app) { $id = 1; $settings_result = $app->db->query("SELECT user_token, run_name, dev_id, app_id, cert_id, site_id FROM settings WHERE id = $id"); $settings = $settings_result->fetch_object(); return new Ebay($settings); }); $app->container->singleton('db', function () { $server = 'localhost'; $user = 'user'; $pass = ''; $database = 'ebaytrading'; return new mysqli($server, $user, $pass, $database); }); $app->addRoutes([ '/' => 'Home:index', '/settings' => 'Settings:view', '/settings/update' => 'Settings:update', // ... other routes ... ]); $app->run();
(terperinci di bawah) diintegrasikan ke dalam bekas. Ebay
kelas (Ebay
): classes/Ebay.php
<?php class Ebay { public $compatability_level = 885; public $sandbox_url = 'https://api.sandbox.ebay.com/ws/api.dll'; public $url = 'https://api.ebay.com/ws/api.dll'; // ... other properties ... public function __construct($settings) { // ... property assignment ... } public function request($method, $request_body) { // ... Guzzle request handling ... } public function getSessionID() { // ... GetSessionID API call ... } public function getUserToken($session_id) { // ... FetchToken API call ... } public function getUserPreferences() { // ... GetUserPreferences API call and data processing ... } public function getEbayDetails($detail_name) { // ... GeteBayDetails API call and data processing ... } }
mengendalikan panggilan API sebenar menggunakan Guzzle. request
Pengawal Tetapan Kedai (controllers/Settings.php
<?php class Settings extends \SlimController\SlimController { public function viewAction() { // ... Fetches user preferences, shipping services, and store settings from DB and API. Renders 'settings/view.twig' ... } public function updateAction() { // ... Uses Valitron for validation, then updates store settings in the DB using prepared statements. Handles success/failure messages and redirects ... } }
Ebay
direktori): templates
base.twig
settings/view.twig
Pelaksanaan lengkap melibatkan badan permintaan XML terperinci untuk panggilan API, pengendalian ralat, pengendalian bentuk, dan banyak lagi. Coretan yang disediakan menggambarkan struktur teras dan interaksi dengan API perdagangan eBay. Ingatlah untuk menggantikan kelayakan pangkalan data tempat dan kunci API dengan nilai sebenar anda. Soalan Lazim pada akhir input asal memberikan konteks tambahan dan maklumat penyelesaian masalah.
Atas ialah kandungan terperinci Mengkonfigurasi tetapan kedai anda dengan API Perdagangan eBay. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!