sauran

Canjin Canjin Jiha

REST shine gajarta ta Canjin Canjin Jiha.

Mene ne Canjin Canjin Jiha?

Salon gine-gine don zayyana aikace-aikacen hanyar sadarwa. A kusan kowane yanayi, ta dogara ne da mara ƙasa, uwar garken abokin ciniki, ka'idar sadarwa mai cacheable, HTTP yarjejeniya. Manufar da ke bayan REST ita ce ɗaukar duk albarkatun gefen uwar garken azaman abubuwa waɗanda za'a iya ƙirƙira, karantawa, sabuntawa, ko share su ta hanyar ƙayyadaddun ayyuka. Wannan ra'ayi ya yi daidai da daidaitattun ayyuka da HTTP ke tallafawa: POST, SAMU, PUT, da GAME.

Shiyasa Ake Kiranshi Canjawar Jiha Wakili

Ajalin Canjin Canjin Jiha an zaɓi don takamaiman dalilai:

  • Wakili yana nufin wakilcin albarkatun (takardar ko abin da kuka nema daga uwar garken) wanda aka canjawa wuri akan hanyar sadarwa. Abokin ciniki yana iya sauƙin sarrafa waɗannan wakilci a cikin tsari kamar XML, JSON, ko YAML.
  • Canja wurin Jiha yana nuna cewa kowane abokin ciniki da hulɗar uwar garken suna canja wurin jiha. Lokacin da abokin ciniki ya nemi hanya, amsawar uwar garken shine ainihin canja yanayin wannan albarkatun ga abokin ciniki. Wannan canja wurin jihar yana ba da damar aikace-aikacen RESTful ya zama mara ƙasa, ma'ana kowane buƙatu daga abokin ciniki zuwa uwar garken dole ne ya ƙunshi duk bayanan da ake buƙata don fahimta da cika buƙatar. Sabar ba ta adana kowace jiha game da zaman abokin ciniki a gefen uwar garken.

Ka'idojin REST

An gina REST akan ka'idoji masu mahimmanci da yawa waɗanda ke ayyana sauƙi da ƙarfinsa:

  1. Mara kasa: Kowane buƙatu daga abokin ciniki zuwa uwar garken dole ne ya ƙunshi duk bayanan da ake buƙata don fahimta da kammala buƙatar. Sabar ba ta da yanayin zama; an ajiye shi gaba ɗaya a gefen abokin ciniki.
  2. Abokin Ciniki-Server: Ƙaƙƙarfan haɗin kai na ke raba abokan ciniki daga sabobin. Wannan rarrabuwar damuwa yana goyan bayan juyin halitta mai zaman kansa na dabaru na gefen abokin ciniki da ajiyar bayanan gefen uwar garken, yana haɓaka haɓakar haɗin gwiwar abokin ciniki a kan dandamali da yawa.
  3. Mai iya cache: Amsoshi dole ne su ayyana kansu a matsayin masu ɓoyewa ko a'a don hana abokan ciniki sake amfani da bayanan da ba su dace ba don amsa ƙarin buƙatun.
  4. Tsarin Layi: Abokin ciniki ba zai iya fayyace na yau da kullun ko an haɗa shi kai tsaye zuwa uwar garken ƙarshe ko zuwa tsaka-tsaki ba. Sabis na tsaka-tsaki na iya inganta haɓakar tsarin ta hanyar ba da damar daidaita nauyi da samar da caches masu raba.
  5. Interface Interface: Don samun fa'idodin REST, aikace-aikacen dole ne su manne da ƙayyadaddun keɓancewa. Wannan yawanci ya ƙunshi amfani da daidaitattun hanyoyin HTTP a madaidaiciyar hanya da bin URLs masu dogaro da albarkatu.

Misalin PHP

Ƙirƙirar API mai RESTful a cikin PHP ya haɗa da sarrafa buƙatun HTTP (GET, POST, PUT, DELETE) da amsawa tare da bayanai a cikin tsari kamar JSON ko XML. Anan ga sauƙaƙan misalin API na RESTful a cikin PHP wanda ke sarrafa jerin ayyuka. Wannan misalin yana nuna sarrafa buƙatun GET da POST don sauƙi.

wannan PHP Misali zai nuna maka yadda ake ƙirƙirar maki biyu na ƙarshe: ɗaya don dawo da jerin ayyuka (GET /tasks) da wani don ƙara sabon aiki (POST /tasks).

index.php – Wurin Shiga

<?php
// Define a simple array of tasks as our "database"
$tasks = [
    ['id' => 1, 'title' => 'Buy groceries', 'completed' => false],
    ['id' => 2, 'title' => 'Finish homework', 'completed' => false]
];

// Get the request method
$requestMethod = $_SERVER['REQUEST_METHOD'];

// Simple router
switch ($requestMethod) {
    case 'GET':
        getTasks();
        break;
    case 'POST':
        addTask();
        break;
    default:
        // Handle other HTTP methods or return an error
        header('HTTP/1.1 405 Method Not Allowed');
        break;
}

function getTasks() {
    global $tasks;
    header('Content-Type: application/json');
    echo json_encode($tasks);
}

function addTask() {
    global $tasks;
    $input = json_decode(file_get_contents('php://input'), true);
    if (!isset($input['title']) || !isset($input['completed'])) {
        header('HTTP/1.1 400 Bad Request');
        echo json_encode(['message' => 'Missing title or completed status']);
        return;
    }

    $newTask = [
        'id' => end($tasks)['id'] + 1,
        'title' => $input['title'],
        'completed' => $input['completed']
    ];

    $tasks[] = $newTask;
    header('Content-Type: application/json');
    echo json_encode($newTask);
}

?>

Ta yaya Yana Works

  • Wannan rubutun yana aiki azaman ƙarshen ƙarshen API mai sauƙi. Dangane da hanyar buƙatar HTTP, ko dai ta dawo da jerin ayyuka (GET) ko ƙara sabon ɗawainiya zuwa lissafin (POST).
  • Ma GET buƙatun, kawai yana fitar da abubuwan $tasks tsarawa a cikin tsarin JSON.
  • Ma POST buƙatun, yana karanta jigilar JSON daga ƙungiyar buƙatar (wanda ake zaton yana ɗauke da title da kuma completed hali), yana ƙara sabon ɗawainiya zuwa ga $tasks tsararru, kuma yana dawo da sabon aikin azaman JSON.
  • Wannan misali yana amfani da tsararrun duniya na PHP azaman bayanan izgili. A cikin aikace-aikacen duniyar gaske, ƙila za ku yi hulɗa tare da bayanan bayanai don adanawa da dawo da ayyuka.

Gwajin API

Kuna iya gwada wannan API ta amfani da kayan aikin kamar Postman ko cURL. Misali, don ƙara sabon ɗawainiya:

curl -X POST -H "Content-Type: application/json" -d '{"title":"Learn REST","completed":false}' http://localhost/index.php

Kuma don samun jerin ayyuka:

curl -X GET http://localhost/index.php

Wannan babban misali ne na asali da ake nufi don kwatanta manufar API RESTful a cikin PHP. Yanayi na ainihi na duniya zai buƙaci ƙarin ƙarfin sarrafa buƙatun, sarrafa kuskure, da la'akari da tsaro kamar tantancewa da ingantaccen shigarwa.

  • Gajarta: sauran
Komawa zuwa maɓallin kewayawa
Close

An Gano Adblock

Martech Zone zai iya ba ku wannan abun cikin ba tare da farashi ba saboda muna yin monetize da rukunin yanar gizon mu ta hanyar kudaden talla, hanyoyin haɗin gwiwa, da tallafi. Za mu yi godiya idan za ku cire mai hana tallan ku yayin da kuke duba rukunin yanar gizon mu.