API spraudnis. API spraudnis Trešās puses api spraudņa pievienošana minecraft

Spraudņi ir galvenā tīmekļa pakotnes ekosistēmas sastāvdaļa un nodrošina kopienai efektīvu veidu, kā piekļūt tīmekļa pakotnes kompilācijas procesam. Spraudnis var piesaistīt galvenos notikumus, kas tiek aktivizēti katras kompilācijas laikā. Spraudnis katrā solī pilnīga piekļuve kompilatoram un, ja nepieciešams, pašreizējai kompilācijai .

Lai iegūtu augsta līmeņa ievadu spraudņu rakstīšanā, sāciet ar spraudņa rakstīšanu .

Sāksim ar tapable utilītu, kas nodrošina tīmekļa pakotnes spraudņa saskarnes mugurkaulu.

Pieskarams

Šī mazā bibliotēka ir tīmekļa pakotnes galvenā utilīta, taču to var izmantot arī citur, lai nodrošinātu līdzīgu spraudņa saskarni. Daudzi tīmekļa pakotnes objekti paplašina Tapable klasi. Klase atklāj tap , tapAsync un tapPromise metodes, kuras spraudņi var izmantot, lai ievadītu pielāgotas veidošanas darbības, kas tiks aktivizētas visā kompilācijas laikā.

Ir iespējams pielāgot drukāto izvadi, nododot dažādus argumentus ProgressPlugin funkcijai reportProgress.

Lai ziņotu par progresu, spraudnim ir jāpieskaras āķim, izmantojot opciju konteksts: true:

Kompilators. āķi. izstaro. tapAsync (( nosaukums: "MyPlugin" , konteksts: true ) , (konteksts, kompilators, atzvanīšana) => ( const reportProgress = konteksts && konteksts. reportProgress; if (reportProgress) reportProgress (0.95, "Sākt darbu") ; setTimeout (( ) => ( if (reportProgress) reportProgress (0.95, "Darbs padarīts" ) ; atzvanīšana () ; ) , 1000 ) ; ) );

Funkciju reportProgress var izsaukt ar šādiem argumentiem:

reportProgress(procenti, ... args);
  • procents: šis arguments nav izmantots; tā vietā ProgressPlugin aprēķinās procentus, pamatojoties uz pašreizējo āķi.
  • ...args: jebkurš virkņu skaits, kas tiks nodots ProgressPlugin apstrādātājam, lai par to ziņotu lietotājam.

Ņemiet vērā, ka tikai kompilatoru un kompilācijas āķu apakškopa atbalsta reportProgress funkciju. Pilnu sarakstu skatiet sadaļā ProgressPlugin.

Mežizstrāde

Reģistrācijas API ir pieejama kopš tīmekļa pakotnes 4.37 izlaišanas. Ja statistikas konfigurācijā ir iespējota reģistrēšana un/vai infrastruktūras reģistrēšana, spraudņi var reģistrēt ziņojumus, kas tiks izdrukāti attiecīgajā reģistrētāja formātā (statistika, infrastruktūra).

  • Spraudņiem reģistrēšanai vajadzētu izmantot compilation.getLogger("PluginName"). Šāda veida reģistrēšana tiek saglabāta statistikā un attiecīgi formatēta. Lietotājs to var filtrēt un eksportēt.
  • Spraudņi reģistrēšanai var izmantot compiler.getInfrastructureLogger("PluginName"). Izmantojot infrastruktūras reģistrēšanu, statistika netiek saglabāta un tāpēc nav formatēta. Parasti tas tiek reģistrēts tieši konsolē/informācijas panelī/GUI. Lietotājs to var filtrēt.
  • Spraudņi var izmantot īpašu atkāpšanās loģiku reģistrēšanas atbalsta noteikšanai compilation.getLogger? compilation.getLogger("PluginName"): konsole, lai nodrošinātu atkāpšanos gadījumiem, kad tiek izmantota vecāka tīmekļa pakotnes versija, kas neatbalsta getLogger metodi kompilācijas objektā.

Nākamie soļi

Skatiet sadaļu kompilatora āķi, lai iegūtu detalizētu sarakstu ar visiem pieejamajiem kompilatora āķiem un parametriem, ko tie dara pieejamus.

Spraudnis ir dinamiski ielādēta bibliotēka (DLL). Pēc programmas instalēšanas visi izplatīšanā iekļautie spraudņi tiek ievietoti direktorijā c:\Program Files (x86)\Common Files\Soft Gold\Inventory 14\Plugins\...*.abl paplašinājums ir nepieciešams automātiska lejupielāde spraudnis no norādītā direktorija, kad lietojumprogramma tiek startēta. Spraudni var ielādēt arī no jebkuras citas vietas diskā, iestatījumos norādot meklēšanas ceļu.

Notiek spraudņa API inicializācija

(Delphi VCL paplašinājumi)

(Spraudņa interfeiss ABViewer/Inventory)

(Autortiesības (c) 2002-2010 programmatūras uzņēmums SoftGold)

{************************************************************}

vienība sgPluginItem;

saskarne

īstenošana

XMLDocRef: IXMLDocument = nulle;

ClientRef: IXMLNode = nulle;

P: rādītājs = nulle;

PluginsHostWnd: HWND = 0;

PluginsHostWndName: string = "";

XMLAtomString: string = "";

procedūra InitializeDoc;

sākt

// loga klases unikālā nosaukuma iegūšana ar parametriem

PluginsHostWndName:= Format("TsgPluginsHost:%.8X:%.8X", );

// paša loga atrašana

PluginsHostWnd:= FindWindow(PChar(PluginsHostWndName), nulle);

Ja PluginsHostWnd<>0 tad

Sāciet

// iegūt atoma virkni xml parametrs dokumentu

XMLAtomString:= Formāts ("XMLOfs%. 8X%. 8X",

XMLDocRef:= IXMLDocument(GetProp(PluginsHostWnd, PChar(XMLAtomString)));

Ja Piešķirts (XMLDocRef), tad

Sāciet

// elementa pievienošana uz sarakstu

ClientRef:= XMLDocRef.DocumentElement.ChildNodes.ChildNodes.AddChild(sClient);

// inicializē funkcijas Invoke adresi

ClientRef.ChildValues["Izsaukt"] := IntToId(Integer(@Invoke)); // heksadecimāls $XXXXXXXX

Beigas;

Beigas;

beigas;

inicializācija

Coinitialize(P);

InitializeDoc;

Spraudņa demonstrācijas versijas iestatīšana un palaišana

Spraudņa demonstrācijas versija tiek konfigurēta automātiski, instalējot programmu, un tiek pievienota uzreiz pēc Inventory palaišanas. Pakotnē ir iekļauts komponenta pirmkods (projekta nosaukums sgPlugin.dpk) un spraudņa demonstrācijas versija (projekta nosaukums plug1.dpr).

Procedūra spraudņa palaišanai no atkļūdošanas režīma:

▪ Atvērt C:\Users\USER_NAME\Documents\Inventory 14\Plugins\Source\Delphi\Demos\Plug1\plug1.dpr

▪ Iestatiet projekta opcijās:

Meklēšanas ceļš: "..\..\Components\PlugItem";

Izvades derekcija , piemēram: "c:\Program Files\Common Files\Soft Gold\Inventory 14\Plugins";

Saimniekprogramma atkal ieslēgta instalēta lietojumprogramma, piemēram: “c:\Program Files\Soft Gold\Inventory 14\Inventory 14.exe”.

▪ Palaišana izpildei.

Lai izmantotu komponentu izstrādes laikā, tas ir jāatver, jāpārbūvē un jāinstalē C:\Users\USER_NAME\Documents\Inventory 14\Plugins\Source\Delphi\Components\PlugItem\sgPlugin.dpk. Pēc komponenta instalēšanas paletē Delphi sastāvdaļas, TsgPluginItem komponents parādīsies cilnē Soft Gold, ko var izmantot designtime, t.i. novietojiet uz veidlapas.

WordPress nodrošina āķus, lai jūsu spraudnis varētu "pieķerties" pārējai WordPress daļai; tas ir, lai izsauktu funkcijas jūsu spraudnī noteiktos laikos un tādējādi aktivizētu spraudni. Ir divu veidu āķi:

  1. (Kodekss)
  2. (Kodekss)

Dažreiz to pašu mērķi var sasniegt ar darbību vai filtru. Piemēram, ja vēlaties, lai jūsu spraudnis mainītu ziņas tekstu, varat pievienot darbības funkciju publish_post (tā ziņa tiek mainīta, kad tā tiek saglabāta datu bāzē), vai filtra funkciju the_content (tā ziņa ir modificēts, kā tas tiek parādīts pārlūkprogrammas ekrānā).

Lai iegūtu detalizētu visu WP darbību un filtru āķu sarakstu, skatiet Ādama Brauna WordPress āķu datu bāzi.

Funkciju atsauce

Filtru funkcijas
Darbības Funkcijas
Aktivizēšanas/deaktivizēšanas/atinstalēšanas funkcijas

Darbības

Darbības aktivizē konkrēti notikumi, kas notiek pakalpojumā WordPress, piemēram, ziņas publicēšana, motīvu maiņa vai . Darbība ir pielāgota PHP funkcija, kas definēta jūsu spraudnī (vai motīvā) un līks, t.i. reaģēt uz dažiem no šiem notikumiem. Darbības parasti veic vienu vai vairākas no šīm darbībām:

  • Mainīt datu bāzes datus.
  • Nosūtiet e-pasta ziņojumu.
  • Pārveidojiet ģenerēto administrēšanas ekrānu vai priekšgala lapu, kas nosūtīta uz lietotāja pārlūkprogrammu.

Pamatdarbības, lai tas notiktu (sīkāk aprakstīts tālāk), ir:

  1. Spraudņa failā izveidojiet PHP funkciju, kas jāizpilda, kad notiek konkrēts WordPress notikums.
  2. Piesaistiet šo funkciju notikumam, izmantojot funkciju.
  3. Ievietojiet savu PHP funkciju spraudņa failā un aktivizējiet to.

Izveidojiet darbības funkciju

Pirmais solis darbības izveidei spraudnī ir izveidot PHP funkciju ar spraudņa darbības funkcionalitāti un ievietot to spraudņa failā (spraudņa failam ir jāiet wp-saturs/spraudņi direktorijs). Piemēram, ja vēlaties, lai jūsu draugi saņemtu e-pasta ziņojumu ikreiz, kad izveidojat jaunu ziņu, varat definēt šādu funkciju:

Funkcija email_friends($post_ID) ( $friends = " [aizsargāts ar e-pastu],[aizsargāts ar e-pastu]"; pasts ($draugi, "sally" emuārs atjaunināts", "Es tikko ievietoju kaut ko savā emuārā: http://blog.example.com"); atgriezt $post_ID; )

Lielākajai daļai darbību funkcijai ir jāpieņem viens parametrs (parasti ziņas vai komentāra ID atkarībā no darbības). Dažām darbībām ir nepieciešams vairāk nekā viens parametrs — skatiet darbības dokumentāciju (ja pieejama) vai WordPress avota kodu, lai iegūtu plašāku informāciju. Papildus vienam parametram varat arī piekļūt un izsaukt citas WordPress funkcijas (vai funkcijas spraudņa failā).

Jebkurš funkcijas teksts (piemēram, ar drukāšanu) tiks parādīts lapas avotā vietā, kur darbība tika izsaukta.

PIEZĪME: Ņemiet vērā, ka citi spraudņi vai WordPress kodols, iespējams, jau izmanto funkcijas nosaukumu, par kuru jūs domājāt. Plašāku informāciju skatiet nākamajā sadaļā.

Izvairīšanās no funkciju nosaukumu sadursmēm

Iespējams, kāds ir izveidojis spraudni ar funkciju, kuras nosaukums ir tāds pats kā jūsu spraudnī esošajai.

Tā ir problēma, jo PHP neļauj izmantot vairākas funkcijas ar tādu pašu nosaukumu. Ja divi spraudņi nodrošina funkciju ar tādu pašu nosaukumu vai spraudnis nodrošina funkciju ar tādu pašu nosaukumu kā WordPress funkcijai, emuārs var pārstāt darboties. Ir divi veidi, kā izvairīties no šīs problēmas.

Pirmais risinājums ir pievienot katrai spraudņa funkcijai unikālu rakstzīmju kopu. Ja jūsu vārds ir Džons K. Publisks, varat deklarēt savas funkcijas kā funkciju jqp_output() (...) . Iespēja, ka kāds ar vienādiem iniciāļiem darīs to pašu ar savu spraudni, ir iespējama, taču maza.

Otrs un, iespējams, vienkāršāks risinājums ir iekļaut spraudņa funkcijas klasē un statiski izsaukt klases metodes. Tas izklausās sarežģītāk, nekā tas ir.

Apsveriet šo klasi, kas paplašina iepriekš sniegtos piemērus:

Klases e-pasta sūtītājs ( statiskā funkcija send($post_ID) ( $friends = " [aizsargāts ar e-pastu],[aizsargāts ar e-pastu]"; pasts($friends,"sally"s blogs updated","Es tikko ievietoju kaut ko savā emuārā: http://blog.example.com"); atgriezt $post_ID; ) ) add_action("public_post", array("e-pasta sūtītājs", "sūtīt"));

Šī klase saucās e-pasta sūtītājs ir metode nosūtīt kas ievieš spraudņa funkcionalitāti.

Funkcija add_action() ārpus klases pievieno WordPress darbību, kas liek tai izsaukt nosūtīt metode, kad ziņa tiek publicēta. Otrajā parametrā izmantotais masīvs liek spraudņa sistēmai izsaukt klases "e-pasta sūtītāja" statisko metodi ar nosaukumu "sūtīt".

Funkcija nosūtīt ir aizsargāts no globālās nosaukumvietas ar klases deklarāciju. Nav iespējams tieši izsaukt send(), un tātad jebkuru citu nosaukto funkciju nosūtīt nesadursies ar šo. Ja vēlaties izsaukt send(), jums būs jāizmanto darbības jomas izšķirtspējas operators, piemēram: emailer::send()

Iepriekš minētais piemērs ir paredzēts statiskām metodēm. Ja jums ir klases gadījums, tas nedarbosies. Lai izsauktu instances metodi tev vajag lai nodotu gadījumu kā mainīgo. Apsveriet iepriekš minēto piemēru, kas mainīts, lai to ņemtu vērā:

Klases e-pasta sūtītājs ( funkcija send($post_ID) ( $friends = " [aizsargāts ar e-pastu],[aizsargāts ar e-pastu]"; pasts($friends,"sally"s blogs updated","Es tikko ievietoju kaut ko savā emuārā: http://blog.example.com"); atgriezt $post_ID; ) ) $myEmailClass = jauns e-pasta sūtītājs(); add_action("public_post", array($myEmailClass, "send"));

Klases ir sarežģīts priekšmets. Vairāk par tiem lasiet PHP nodarbību dokumentācijā.

Āķis ar WordPress

Pēc tam, kad funkcija ir definēta, nākamais solis ir to "pieķert" vai reģistrēt pakalpojumā WordPress. Lai to izdarītu, izsauciet sava spraudņa faila globālo izpildes vietu:

Add_action("āķa_nosaukums", "jūsu_funkcijas_nosaukums", , );

Hook_name Darbības āķa nosaukums, ko nodrošina WordPress un kas norāda, ar kādu notikumu ir jāsaista jūsu funkcija. your_function_name Funkcijas nosaukums, kuru vēlaties izpildīt pēc notikuma, kas norādīts āķa_nosaukums. Tā var būt standarta php funkcija, funkcija, kas atrodas WordPress kodolā, vai funkcija, kuru esat definējis spraudņa failā (piemēram, iepriekš definētais “email_friends”). prioritāte Neobligāts vesels skaitļa arguments, ko izmanto, lai norādītu secību, kādā tiek izpildītas ar konkrētu darbību saistītās funkcijas (noklusējums: 10). Zemāki atbilst skaitļiem ar agrāku izpildi, un funkcijas ar tādu pašu prioritāti tiek izpildītas secībā, kas pievienota darbībai. accept_args Neobligāts vesela skaitļa arguments, kas nosaka, cik argumentu funkcija var pieņemt (noklusējums 1), noderīgs, jo daži āķi var nodot jūsu funkcijai vairāk nekā vienu argumentu. Šis parametrs ir jauns versijā 1.5.1.

Iepriekš minētajā piemērā mēs spraudņa failā ievietotu šādu rindu:

Add_action("public_post", "email_friends");

Instalējiet un aktivizējiet

Pēdējais solis, lai filtra āķis darbotos, ir faila instalēšana un spraudņa aktivizēšana. Jūsu rakstītajai PHP funkcijai un izsaukumam ir jāiet kopā PHP failā, un PHP failam jābūt instalētam wp-saturs/spraudņi direktoriju. Kad tas ir instalēts, jums būs jāapmeklē WordPress administratora sadaļa un jāaktivizē savs spraudnis; skatiet sīkāku informāciju.

Pašreizējie āķi filtriem

Aktivizēšana/Deaktivizēšana/Atinstalēt

Ja jūsu spraudnim ir uzdevumi, kas jāpabeidz tikai aktivizēšanas vai deaktivizēšanas laikā, tas var izmantot un Darbības atsauce — WordPress darbību āķu saraksts

Ārējie resursi

  • Ādama Brauna WordPress āķu datu bāze, visu WordPress āķu datu bāze, kas parāda, no kuras versijas tie nāk, un saiti uz pirmkoda vietām, kurās tie tiek izmantoti. Šis ir vispilnīgākais.
  • Otto pakalpojumā WordPress:

Ar Yandex.
Tas ir tīmekļa pakalpojums, tāpēc jums tas nav jāpievieno.

Servera īpašniekiem ir nepieciešama īpaša atslēga, lai iespējotu šo spraudni.
Piesakieties Yandex vietnē un pēc tam iegūstiet šo atslēgu, pēc tam ievietojiet to API konfigurācijā.
Lūdzu, ņemiet vērā, ka bezmaksas atslēga katru mēnesi atbalsta "tikai" 10 000 000 rakstzīmju, taču jūs varat izveidot, cik taustiņu vēlaties.

Šīs ir pieejamās valodas:

SpoilerTarget">Spoileris

AZERBAIDZĀNA
ALBĀŅI
ANGĻU
ARĀBU
AFRIKAANS
BASKU
BALTKRIEVIEŠU
BULGĀRIJA
BOSNIŅU
VELSIEŠU
UNGĀRIJA
VJETNAMEŠU
HAITIETIS
GALIČIETIS
NĪDERLANDE
GRIEĶIS
GRUZIJA
DĀŅU
INDONĒZIEŠU
ĪRU
ITĀLIEŠU
ISLANDIETIS
SPĀŅU
KANNADA
ĶĪNIEŠU
Korejiešu valoda
LATVIEŠU
LIETUVIETIS
MAKEDONIJAS
MONGOĻU
VĀCIJA
NEPĀLIJA
NORVĒĢIJA
PERSIEŠU
POLIJAS
PORTUGĀLIS
RUMĀŅI
KRIEVU
SERBIEŠU
SLOVĀKIETIS
SLOVĒŅI
SUNDĀŅI
TURKU
UZBEK
UKRAINIEŠU
SOMU
FRANČU
HINDI
HORVĀTIS
ČEHIJA
ZVIEDRU
SKOTIS
IGAUNIETE
JAPĀŅI

Kad pievienojaties serverim, jūsu valoda ir servera valoda.
Lai to mainītu, vienkārši ierakstiet /lang(atļauja: tulkotājs.lang) un izvēlnē atlasiet valodu.

Ja nezināt, kā pievienot atkarības, lasiet šeit.

Izstrādātājs
Pārliecinieties, ka izmantojat Java >= 8.
Pievienojiet JAR savam būvēšanas ceļam. Pēc tam iestatiet iestatījumu "Manuālais manifests" un izveidojiet projektam savu MANIFEST.MF. Rakstiet:

Galvenā klase: your.package.Class
Klases ceļš: ..\lib\Translator.jar

Serveru īpašnieki
Pārliecinieties, ka izmantojat Java >= 8.
Izveidojiet mapi ar nosaukumu lib galvenajā servera saknē un ievietojiet šeit JAR.
Turklāt jums tas ir jāievieto spraudņu mapē.

//Ziņas sūtīšana, kas tiek tulkota automātiski spēlētāja valodā
p.sendMessage("§a" + Translator.translate("Sveiks!", p));

//Manuāli tulkotas ziņas sūtīšana
p.sendMessage("§a" + Translator.translate("Sveiki!", Valoda.ANGĻU, Valoda.ITĀĻU));

//Servera valodas iegūšana
Valoda serverLang = Translator.getServerLanguge();

//Spēlētāja valodas iegūšana
Valoda playerLang = Translator.getPlayerLanguage(p);

  • Ja atkārtoti ielādējat API, kamēr ir iespējots spraudnis, kas to izmanto, tas avarēs. Lai labotu manuāli, izlādējiet spraudni, atkārtoti ielādējiet API un ielādējiet spraudni
  • Krāsu kodi netiek atbalstīti. Lai tos izmantotu, skatiet iepriekš minētos piemērus
  • Neliela aizkave (API ir jātulko oriģinālais teksts un jāsaņem JSON)

Ja jums ir problēmas, rakstiet diskusijā vai sazinieties ar mani, izmantojot privātas ziņas. Es neatbildēšu uz kļūdu ziņojumiem atsauksmju sadaļā.

Pašlaik nav spraudņu, kas izmantotu šo API. Ja jūs to izmantojat, pastāstiet man, un es to pievienošu šeit

Jaunākās atsauksmes

  1. Versija: 1.0

    Grande frate! Ho letto Powered by Gamehosting, quindi penso tu sia italiano? se si: sai perché da questo errore all" avvio?

    P.s (ho letto impossibile trovare il percorso specificato, ma la cartella ci sta)

    : java.io.IOIzņēmums: nav iespējams veikt darbības specifiku
    : vietnē java.io.WinNTFileSystem.createFileExclusively (Native Method)
    : vietnē java.io.File.createNewFile(Nezināms avots)
    : vietnē eu.iamgio.translator.UsersFileLoader.loadRegisterFile(UsersFileLoader.java:21)
    : vietnē eu.iamgio.translator.Translator.onEnable(Translator.java:35)
    : vietnē org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321)
    : vietnē org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340)
    : vietnē org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405)
    : vietnē org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:357)
    : vietnē org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:317)
    : vietnē net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:414)
    : vietnē net.minecraft.server.v1_8_R3.MinecraftServer.k (MinecraftServer.java:378)
    : vietnē net.minecraft.server.v1_8_R3.MinecraftServer.a (MinecraftServer.java:333)
    : vietnē net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:263)
    : vietnē net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:525)
    : vietnē java.lang.Thread.run (Nezināms avots)

Izlaists 2015. gada beigās. Tomēr kopumā tikai pieredzējuši izstrādātāji ir veltījuši laiku, lai uzzinātu, cik spēcīgs ir šis piedāvājums.

WordPress REST API pakotne apvieno visus modernos atjauninājumus, nodrošinot iebūvētu API, ko var integrēt motīvos, mobilajās lietotnēs un citur. Citiem vārdiem sakot, tas ļauj izstrādātājiem nodalīt priekšgala saskarni no datu pārvaldības, ļaujot jebkurai lietojumprogrammai mijiedarboties ar WordPress. Uzzinot, kā šis rīks darbojas, var tikt atvērtas gandrīz bezgalīgas iespējas paplašināt savu WordPress vietni.

Šajā rakstā mēs jūs iepazīstināsim ar WordPress REST API projektu, paskaidrosim, kāpēc tas ir tik labs, un pēc tam piedāvāsim dažas idejas tā lietošanai. Tāpēc netērēsim laiku un sāciet!

Iepazīstinām ar WordPress REST API

WordPress REST API projekts (REST from Representational State Transfer) apstiprina, ka WordPress veic pasākumus, lai kļūtu par pilnvērtīgu lietojumprogrammu platformu. Tā klātbūtne ir pārliecinoša, jo tā pievieno standarta REST API WordPress kodolam.

Projektu 2013. gadā izstrādātājiem paredzētā GitHub pirmo reizi augšupielādēja izstrādātāji Raiens Makkjū un Reičela Beikere. Neatkarīgais REST API spraudnis tika iebūvēts WordPress kodolā 2015. gada decembrī pēc tam, kad tika saņemts milzīgs atbalsts un piesaistīti gandrīz 100 līdzstrādnieku, kuri bija gatavi strādāt, lai uzlabotu tā iespējas.

Kopš WordPress REST API kļuva par daļu no kodola, tā ir pierādījusi savu efektivitāti. Šeit ir tikai daži reāli piemēri pielietojuma skaidrībai un iedvesmai jūsu projektos:

  1. Event Espresso izmanto REST API, lai nodrošinātu izstrādātājiem piekļuvi viņu globālajai infrastruktūrai, ļaujot tiem izstrādāt lietojumprogrammas, izmantojot savus pakalpojumus.
  2. Simmer ļauj izstrādātājiem piekļūt API, lai paplašinātu savu funkcionalitāti līdz pilnvērtīgai mobilā lietotne vai pielāgot motīvus.
  3. JoinIn nodrošina savu "iegulto" logrīku, izmantojot REST API, aizpildot to ar atbilstošiem datiem visur, kur tie tiek rādīti.

Šī ir tikai aisberga redzamā daļa, kad runa ir par REST API novatoriskajiem mērķiem. Tomēr apspriedīsim, kā darbojas pati REST API.

Kā darbojas WordPress REST API

Īsāk sakot, REST API darbojas, manipulējot ar teksta datiem no vienas vietas uz otru, tieši nepiekļūstot datubāzei vai lietotāja interfeisam. Ir daudz veidu API (Application Programming Interfaces), neskatoties uz to, REST joprojām ir moderns un atbilstošs standarts.

REST API tiek pārraidīts, izmantojot hiperteksta pārsūtīšanas protokola (HTTP) piekļuves punktus, izmantojot JavaScript objektu notācijas (JSON) formātu. Vienkārši sakot, šīs tehnoloģijas nodrošina piekļuvi API, izmantojot unikālas tīmekļa adreses, lai piegādātu datus, kas darbojas kā JavaScript objekti.

Ja nekad neesat strādājis ar JavaScript vai tā objektu definīcijām, apgūstiet JSON pamatus. Tagad, kad esam nedaudz precizējuši REST API koncepciju, parunāsim par to, kā tas var būtiski ietekmēt izstrādes procesu, izmantojot WordPress.

Ko WordPress REST API nozīmē izstrādātājiem?

WordPress REST API ir universāls jebkuras WordPress instalācijas integrators ar jebkuru lietojumprogrammu tīmekļa serverī vai jūsu operētājsistēma. Galu galā tas nozīmē, ka vienīgais ierobežojums tam, ar ko var būvēt izmantojot WordPress, ir tikai mūsu iztēle. Varat izveidot jebkuru lietojumprogrammu, kas rakstīta jebkurā platformā vai valodā, un izmantot WordPress, lai apstrādātu datus, izmantojot REST API. Atvērtā un draudzīgā WordPress kopiena piedāvā milzīgas iespējas.

REST API pamatā ir JavaScript, kam tiek pievērsta arvien lielāka uzmanība, un tas norāda, kuras programmēšanas valodas ir svarīgi zināt. Drīz jūs atklāsiet, ka servera puses JavaScript ir jaunais PHP. To jau var redzēt WordPress.com jaunajā programmatūrā Calypso, kas pilnībā darbojas uz JavaScript un REST API.

Standartizējot lietojumprogrammu (tostarp WordPress kodola) mijiedarbību ar WordPress datiem, WordPress izstrāde kļūs vienkāršāka un intuitīvāka. Turklāt tas atvieglos integrāciju ar trešo pušu platformām.

Es ceru, ka tagad jums ir vairāk iemeslu, kāpēc ir svarīgi sākt mācīties lietot šo tehnoloģiju jau tagad. Ir pienācis laiks spert pirmos soļus, lai savā darbā izmantotu REST API!

5 soļi, lai sāktu darbu ar WordPress REST API

Kā minēts iepriekš, REST API var izmantot ar jebkuru lietojumprogrammu vai jebkuru programmēšanas valodu, kas var izsaukt HTTP resursus. Mēs koncentrēsimies uz komandrindas izmantošanu, lai veiktu REST API pieprasījumus, jo tā ir vienkāršākā metode ar vismazāko kļūdu iespējamību, kas var pasliktināt mācību procesu.

Lai to izdarītu, datorā ir jāatver programma ar komandrindas interfeisu (Command Line Interface CLI) - terminālis operētājsistēmā macOS vai Linux un komandrinda operētājsistēmā Windows. CLI ļauj tieši mijiedarboties ar REST API, bez nepieciešamības rakstīt papildu skriptus, lai pieprasītu un apstrādātu informāciju. Jebkurš pieprasījums, ko rakstāt CLI, var būt skripts PHP, JavaScript vai citā valodā, taču metode katram būs atšķirīga. Tieša komandu izpilde CLI. Vienkārši ierakstiet vajadzīgo komandu un nospiediet taustiņu Enter.

Mēs arī iesakām izveidot demonstrācijas vietni vai veikt testēšanu lokāli, nevis izmēģināt šīs darbības tiešsaistes vietnē. Visbeidzot, vēl viens nosacījums ir tas, ka jūsu vietnes WordPress versijai ir jābūt 4.4 vai jaunākai. Ja esat gatavs, tad sākam!

1. darbība: iepazīstieties ar REST API pamatjēdzieniem

Pirms sākam, iepazīsimies ar REST API galvenajiem jēdzieniem. Ir tikai pieci pamatjēdzieni un termini, ar kuriem jums vajadzētu iepazīties. Apskatīsim tos:

  1. Maršruti ("Maršruti") un resursi vai piekļuves punkti ("Galapunkti"). Tas ir vissvarīgākais aspekts, lai izprastu REST API. Maršruti palīdz pārvietoties starp resursiem, kad noteikta HTTP metode (piemēram, statiska datu kopa vai darbība) ir savienota ar noteiktu maršrutu. Piemēram, /wp-json/ ir maršruts, kas konfigurēts kā resurss, kas izveidots, lai parādītu mums pieejamos maršrutus.
  2. Pieprasījumi. Tie tiek izveidoti, palaižot pareizos resursus un izlaižot datus.
  3. Atbilde ( Atbildes).Īsāk sakot, sniedzot pieprasītos datus vai atgriežot kļūdu, lai paziņotu, ka kaut kas nogājis greizi.
  4. Shēmas. Tālāk ir sniegtas atbildes veidnēs, lai jūs vienmēr zinātu, kur meklēt vajadzīgos datus.
  5. Kontrolieru klases. Tie ļauj jums izveidot savus maršrutus un resursus. Kamēr jums par to nav jāuztraucas, tie vēlāk kļūs noderīgāki.

Kad esat sapratis šos piecus jēdzienus, varat sākt iedziļināties pašā REST API, sākot ar tās piekļuves punktiem.

2. darbība: noskaidrojiet visnoderīgākos REST API piekļuves punktus

WordPress REST API piedāvā uzziņu rokasgrāmatu ar visiem piekļuves punktiem (resursiem), kurā varat atrast sev visnoderīgākos. Pirmkārt, jums jāzina, kā izveidot HTTP REST API zvanu. Jebkura WordPress API izsaukuma pamatdaļa izskatās šādi, aizstājiet yourdomain.com tavējam:

Http://yourdomain.com/wp-json/

Varat pārbaudīt savienojumu, savā CLI izpildot komandu curl, izmantojot savu URL:

Curl -X OPTIONS -i http://yourdomain.com/wp-json/

Jums vajadzētu būt sveicinātam ar ziņojumu no HTTP. Varat vēl vairāk modificēt šo komandu, izmantojot dažus no galvenajiem resursiem. Tagad mēs vienkārši izmantojam curl GET versiju.

Lai pakalpojumā WordPress iegūtu savu ziņu JSON sarakstu, varat izmantot tālāk norādītās darbības.

Pēc tam mēģiniet pārbaudīt visas esošās WordPress lapas:

Curl -X GET -i http://yourdomain.com/wp-json/wp/v2/pages

Varat eksperimentēt ar katru no šiem piekļuves punktiem (un citiem!) CLI, lai redzētu, kādu atbildi katrs rada.

3. darbība. Apgūstiet REST API autentifikācijas pamatus

Tagad ir pienācis laiks uzzināt par autentifikāciju. Dažas darbības un dati REST API ir publiski pieejami, savukārt citām ir jāpiesakās kā administratoram. Tomēr šī ir REST API, un nav vietas, kur pieteikties autorizācijai. Tā vietā varat autentificēties, veicot pieprasījumus, kuriem nepieciešama administratora piekļuve, piemēram, skatot nepublicētas ziņas vai mainot ziņas.

Sāksim ar spraudņa WordPress REST API Basic Auth instalēšanu. Šis ir vienkāršs spraudnis izstrādātājiem, lai ātri apgūtu REST API, un tas nav paredzēts īstām vietnēm. Tomēr instalēšanas process ir tāds pats kā jebkuram citam spraudnim.

Kad pamata autentifikācija ir instalēta, jūs varēsiet autentificēties, izmantojot CLI ar karogu lietotājs. Šeit ir piemērs, kā lietot lietotāja autentifikācijas metodi, izmantojot čokurošanās lai skatītu nepublicētās ziņas:

Curl -X GET --lietotāja lietotājvārds:parole -i http://yourdomain.com/wp-json/wp/v2/posts?status=draft

Autentifikācija būs nepieciešama jebkurai darbībai, izņemot publiskas informācijas skatīšanu. Kad esat apguvis pamata autentifikāciju, varat izpētīt citas REST API dokumentācijā ieteiktās iespējas jūsu izstrādei.

4. darbība: atlasiet savu pirmo WordPress ziņu, izmantojot REST API

Kad esat sapratis, kā veikt pamata REST API zvanus ar curl, mēģiniet atlasīt konkrētu ierakstu. Vispirms parādīsim visas publikācijas, kā to darījām iepriekš:

Curl -X GET -i http://yourdomain.com/wp-json/wp/v2/posts

Šo ID pielikuma triku varat izmantot jebkuram REST API resursam neatkarīgi no tā, vai vēlaties parādīt ziņu, lapu vai taksonomiju.

5. darbība. Veiciet izmaiņas savā WordPress ziņā, izmantojot REST API

Visbeidzot, mēģināsim veikt izmaiņas jūsu atlasītajā publikācijā. Komandu vietā IESPĒJA vai GŪT, šoreiz izmantosim POSTĪT veikt izmaiņas. GŪT tiek izmantots datu lasīšanai, kamēr POSTĪT- lai tos nosūtītu.

Pārdēvēsim jūsu ziņu, iesniedzot pieprasījumu POSTĪT kopā ar autentifikācijas datiem. Jaunas izmaiņas tiks veiktas, izmantojot karogu d komandas beigās. Mēs pārsūtīsim lietotāja JavaScript objekts iestatot nosaukuma mainīgo vērtību, piemēram, Mans jaunais tituls kā parādīts zemāk esošajā kodā:

Curl -X POST — lietotāja lietotājvārds:parole http://yourdomain.com/wp-json/wp/v2/posts/ -d "("nosaukums":"Mans jaunais nosaukums")"

Noteikti aizstājiet lietotājvārdu, paroli, ziņas ID un nosaukumu ar savu. Varat atkārtoti atlasīt attiecīgo publikāciju, lai pārbaudītu izmaiņas:

Curl -X GET -i http://yourdomain.com/wp-json/wp/v2/posts/

Apsveicam! Jūs tikko veicāt savus pirmos administratora labojumus, izmantojot WordPress REST API. Protams, šī pamata rokasgrāmata tikai saskrāpē REST API sniegtās iespējas, taču tas ir diezgan stabils sākums!

Secinājums

WordPress REST API ir jaudīga jauna WordPress kodola versija, un daudzi izstrādātāji jau ir sākuši izmantot tās iespējas. Attiecīgi, tagad iepazinies ar to, kā strādāt ar jauna iespēja, pilnveidosi savas programmēšanas prasmes un varēsi izveidot aplikāciju izmantojot WordPress kā ietvaru.

Rezumējot, mēs veicām piecas darbības, lai uzzinātu, kā mijiedarboties ar WordPress REST API:

  1. Ievads REST API pamatjēdzienos.
  2. Noderīgākie resursi/REST API piekļuves punkti.
  3. Uzziniet REST API autentifikācijas pamatus.
  4. Ziņas izgūšana pakalpojumā WordPress, izmantojot REST API.
  5. Mainiet WordPress ziņu, izmantojot REST API.

Kādi jautājumi jums ir par WordPress REST API? Raksti mums komentāros!