API залгаас. API залгаас Minecraft-д зориулсан гуравдагч талын api залгаасыг холбож байна

Plugins нь вэб багцын экосистемийн гол хэсэг бөгөөд олон нийтэд вэб багцын эмхэтгэлийн үйл явцад нэвтрэх хүчирхэг арга замыг өгдөг. Plugin нь эмхэтгэл болгоны үндсэн үйл явдлуудад холбогдох боломжтой. Замын алхам бүрт залгаас нь байх болно. хөрвүүлэгч болон шаардлагатай үед одоогийн эмхэтгэлд бүрэн хандах боломжтой.

Plugins бичих өндөр түвшний танилцуулга хийхийн тулд залгаас бичиж эхэл.

Webpack-ийн залгаасын интерфэйсийн үндсэн хэсгийг хангадаг товшилтын хэрэгслээр эхэлцгээе.

Товчлох боломжтой

Энэхүү жижиг номын сан нь вэб багцын үндсэн хэрэгсэл боловч ижил төстэй залгаасуудын интерфейсийг хангахын тулд өөр газар ашиглаж болно. Вэб багц дахь олон объектууд Tapable ангиллыг өргөжүүлдэг. Тус анги нь эмхэтгэлийн туршид хэрэгжих захиалгат бүтээх алхмуудыг оруулахад залгаасууд ашиглаж болох tap , tapAsync болон tapPromise аргуудыг дэлгэдэг.

ProgressPlugin-ийн reportProgress функцэд өөр аргументуудыг дамжуулж хэвлэсэн гаралтыг өөрчлөх боломжтой.

Явцыг мэдээлэхийн тулд залгаас нь контекст: үнэн сонголтыг ашиглан дэгээ рүү дарах ёстой:

Хөрвүүлэгч. дэгээ. ялгаруулдаг. tapAsync (( нэр: "MyPlugin" , контекст: үнэн ) , (контекст, хөрвүүлэгч, буцааж дуудах) => ( const reportProgress = context && context. reportProgress; if (reportProgress) reportProgress (0.95, "Ажлыг эхлүүлж байна" ) ; setTimeout (( ) => ( if (reportProgress) reportProgress (0.95, "Ажил дууссан" ) ; буцаан дуудах () ; ) , 1000 ); ) );

reportProgress функцийг дараах аргументуудаар дуудаж болно:

reportProgress(хувь, ... арс);
  • хувь: Энэ аргументыг ашиглаагүй; оронд нь ProgressPlugin нь одоогийн дэгээ дээр үндэслэн хувь хэмжээг тооцох болно.
  • ... args: ProgressPlugin зохицуулагч руу дамжуулж хэрэглэгчдэд мэдээлэх дурын тооны мөр.

Зөвхөн хөрвүүлэгч болон эмхэтгэлийн дэгээний дэд хэсэг нь reportProgress функцийг дэмждэг гэдгийг анхаарна уу. Бүрэн жагсаалтыг ProgressPlugin-ээс үзнэ үү.

Мод бэлтгэх

Webpack 4.37-г гаргаснаас хойш бүртгэлийн API ашиглах боломжтой. Статистикийн тохиргоонд бүртгэлийг идэвхжүүлсэн үед болон/эсвэл дэд бүтцийн бүртгэлийг идэвхжүүлсэн үед залгаасууд нь холбогдох бүртгэлийн форматаар (стат, дэд бүтэц) хэвлэгдэх мессежүүдийг бүртгэж болно.

  • Залгаасууд бүртгэлд compilation.getLogger("PluginName") ашиглахыг илүүд үздэг. Энэ төрлийн бүртгэлийг Статистикт хадгалж, зохих хэлбэрт оруулдаг. Үүнийг хэрэглэгч шүүж экспортлох боломжтой.
  • Залгаасууд бүртгэлд compiler.getInfrastructureLogger("PluginName")-г ашиглаж болно. Дэд бүтцийн бүртгэлийг ашиглах нь Статистикт хадгалагдаагүй тул форматлагдаагүй. Энэ нь ихэвчлэн консол/хяналтын самбар/GUI-д шууд нэвтэрдэг. Үүнийг хэрэглэгч шүүж болно.
  • Нэмэлтүүд нь бүртгэл хөтлөх дэмжлэгийг илрүүлэхийн тулд тусгай нөөц логик ашиглаж болно compilation.getLogger ? compilation.getLogger("PluginName"): эмхэтгэлийн объект дээр getLogger аргыг дэмждэггүй хуучин вэб багцын хувилбарыг ашиглаж байгаа тохиолдолд нөөцийг хангах консол.

Дараагийн алхмууд

Боломжтой бүх хөрвүүлэгчийн дэгээ болон тэдгээрийн ашиглах боломжтой параметрүүдийн дэлгэрэнгүй жагсаалтыг хөрвүүлэгчийн дэгээ хэсгээс харна уу.

Plugin нь динамикаар ачаалагдсан номын сан (DLL) юм. Хөтөлбөрийг суулгасны дараа түгээлтэд багтсан бүх залгаасуудыг лавлахад байрлуулна c:\Program Files (x86)\Common Files\Soft Gold\Inventory 14\Plugins\...*.abl өргөтгөл шаардлагатай автомат татаж авахпрограм эхлэх үед заасан сангаас залгаас. Мөн тохиргоон дотроос хайлтын замыг зааж өгснөөр залгаасыг дискний өөр аль ч газраас ачаалж болно.

Plugin API-г эхлүүлж байна

(Delphi VCL өргөтгөлүүд)

(ABViewer/Inventory-д зориулсан залгаас интерфэйс)

(Зохиогчийн эрх (c) 2002-2010 SoftGold програм хангамжийн компани)

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

нэгж sgPluginItem;

интерфейс

хэрэгжилт

XMLDocRef: IXMLDocument = тэг;

ClientRef: IXMLNode = тэг;

P: Заагч = тэг;

PluginsHostWnd: HWND = 0;

PluginsHostWndName: string = "";

XMLAtomString: string = "";

InitializeDoc процедур;

Эхлэх

// цонхны ангийн өвөрмөц нэрийг параметртэй авч байна

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

// цонхыг өөрөө хайж олох

PluginsHostWnd:= FindWindow(PChar(PluginsHostWndName), тэг);

Хэрэв PluginsHostWnd<>тэгвэл 0

Эхлэх

// авах атомын мөрийг авна xml параметрбаримт бичиг

XMLAtomString:= Формат("XMLOfs%.8X%.8X",

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

Хэрэв томилогдсон бол (XMLDocRef).

Эхлэх

// элемент нэмэх жагсаалт руу

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

// Invoke функцийн хаягийг эхлүүлэх

ClientRef.ChildValues["Invoke"] := IntToId(Бүхэл тоо(@Invoke)); // арван зургаатын тоо $XXXXXXXX

Төгсгөл;

Төгсгөл;

Төгсгөл;

эхлүүлэх

CoInitialize(P);

InitializeDoc;

Залгаасны демо хувилбарыг тохируулж, ажиллуулж байна

Залгаасны демо хувилбар нь програмыг суулгах үед автоматаар тохируулагдсан бөгөөд Бараа материалыг ажиллуулсны дараа шууд холбогддог. Багц нь бүрэлдэхүүн хэсгийн эх код (төслийн нэр sgPlugin.dpk) болон залгаасын демо хувилбарыг (төслийн нэр plug1.dpr) агуулдаг.

Дибаг хийх горимоос залгаасыг эхлүүлэх журам:

▪ Нээлттэй C:\Users\USER_NAME\Documents\Inventory 14\Plugins\Source\Delphi\Demos\Plug1\plug1.dpr

▪ Төслийн сонголтуудад тохируулна уу:

Хайлтын зам: "..\..\Бүрдэл хэсгүүд\PlugItem";

Гаралтын алдаа , жишээ нь: “c:\Program Files\Common Files\Soft Gold\Inventory 14\Plugins”;

Хост програмыг дахин асаалаа суулгасан програм, жишээ нь: “c:\Program Files\Soft Gold\Inventory 14\Inventory 14.exe”.

▪ Гүйцэтгэхийн тулд эхлүүлнэ.

Бүрэлдэхүүн хэсгүүдийг дизайны хугацаанд ашиглахын тулд та нээж, дахин бүтээж, суулгах хэрэгтэй C:\Users\USER_NAME\Documents\Inventory 14\Plugins\Source\Delphi\Components\PlugItem\sgPlugin.dpk. Бүрэлдэхүүн хэсгүүдийг суулгасны дараа палитрт Delphi бүрэлдэхүүн хэсгүүд, TsgPluginItem бүрэлдэхүүн хэсэг нь Soft Gold tab дээр гарч ирэх бөгөөд үүнийг designtime-д ашиглаж болно, i.e. маягт дээр байрлуулна.

Таны залгаасыг WordPress-ийн бусад хэсэгт "холбох" боломжийг олгохын тулд дэгээг WordPress-ээс хангадаг; өөрөөр хэлбэл залгаасныхаа функцүүдийг тодорхой цагт дуудаж, улмаар залгаасыг хөдөлгөөнд оруулах. Хоёр төрлийн дэгээ байдаг:

  1. (Кодекс)
  2. (Кодекс)

Та заримдаа үйлдэл эсвэл шүүлтүүрээр нэг зорилгоо биелүүлж болно. Жишээлбэл, хэрэв та өөрийн залгаасыг нийтлэлийн текстийг өөрчлөхийг хүсвэл publish_post-д үйлдлийн функц (нийтлэл мэдээллийн санд хадгалагдсан тул өөрчлөгдөнө) эсвэл контент руу шүүлтүүрийн функц нэмж болно. хөтчийн дэлгэц дээр харагдах байдлаар өөрчлөгдсөн).

WP дахь бүх үйлдэл болон шүүлтүүрийн дэгээг нарийвчлан жагсаахыг Адам Брауны WordPress дэгээ мэдээллийн сангаас үзнэ үү.

Функцийн лавлагаа

Шүүлтүүрийн функцууд
Үйлдлийн функцууд
Идэвхжүүлэх / Идэвхгүй болгох / Устгах функцууд

Үйлдлүүд

ҮйлдлүүдНийтлэл нийтлэх, сэдвийг өөрчлөх эсвэл . Үйлдэл нь таны залгаас (эсвэл сэдэв) болон дэгээтэй, өөрөөр хэлбэл Эдгээр үйл явдлын заримд хариу өгөхөөр тохируулсан. Үйлдлүүд нь ихэвчлэн дараах зүйлсийн нэг буюу хэд хэдэн үйлдлийг гүйцэтгэдэг:

  • Өгөгдлийн сангийн өгөгдлийг өөрчлөх.
  • Имэйл мессеж илгээх.
  • Үүсгэсэн удирдлагын дэлгэц эсвэл хэрэглэгчийн хөтөч рүү илгээсэн нүүр хуудсыг өөрчлөх.

Үүнийг хийх үндсэн алхмууд (доор дэлгэрэнгүй тайлбарласан болно) нь:

  1. Тодорхой WordPress үйл явдал тохиолдоход ажиллах PHP функцийг залгаас файлдаа үүсгээрэй.
  2. Функцийг ашиглан энэ функцийг үйл явдалд холбоно уу.
  3. PHP функцээ залгаас файлд оруулаад идэвхжүүлнэ үү.

Үйлдлийн функц үүсгэх

Өөрийн залгаас дээр үйлдэл үүсгэх эхний алхам бол өөрийн залгаасын үйлдлийн функцээр PHP функцийг үүсгэж, залгаасын файлдаа оруулах явдал юм (таны залгаасын файл wp-content/pluginsлавлах). Жишээлбэл, хэрэв та шинэ нийтлэл үүсгэх бүрт найзууддаа имэйл илгээхийг хүсвэл дараах функцийг тодорхойлж болно.

Функц email_friends($post_ID) ( $friends = " [имэйлээр хамгаалагдсан],[имэйлээр хамгаалагдсан]"; мэйл($найзууд, "саллигийн блог шинэчлэгдсэн", "Би сая блогтоо ямар нэгэн зүйл орууллаа: http://blog.example.com"); $post_ID буцаах; )

Ихэнх үйлдлүүдийн хувьд таны функц нэг параметрийг (үйлдэлээс хамааран ихэвчлэн нийтлэл эсвэл сэтгэгдлийн ID) хүлээн авах ёстой. Зарим үйлдэл нь нэгээс олон параметрийг шаарддаг -- үйл ажиллагааны баримт бичгийг (хэрэв байгаа бол) эсвэл WordPress эх кодоос дэлгэрэнгүй мэдээллийг шалгана уу. Нэг параметрээс гадна та WordPress-ийн бусад функцуудад (эсвэл залгаас файлын функцууд) хандах, дуудах боломжтой.

Функцийн аливаа текстийн гаралт (жишээ нь хэвлэх гэх мэт) үйлдлийг эхлүүлсэн байршилд хуудасны эх сурвалж дээр гарч ирнэ.

ЖИЧ: Бусад залгаасууд эсвэл WordPress цөм нь таны бодож байсан функцийн нэрийг аль хэдийн ашиглаж байж магадгүй гэдгийг санаарай. Дэлгэрэнгүй мэдээллийг дараагийн хэсгээс үзнэ үү.

Функцийн нэрний зөрчилдөөнөөс зайлсхийх

Хэн нэгэн таны залгаастай ижил нэртэй функц бүхий залгаас үүсгэсэн байж болзошгүй.

PHP нь ижил нэртэй олон функцийг зөвшөөрдөггүй тул энэ нь асуудал юм. Хэрэв хоёр залгаас нь ижил нэртэй функцийг хангадаг эсвэл залгаас нь WordPress функцтэй ижил нэртэй функцийг хангадаг бол блог ажиллахаа больж магадгүй юм. Энэ асуудлаас зайлсхийх хоёр арга бий.

Эхний шийдэл бол залгаасныхаа функц бүрийг өвөрмөц тэмдэгтээр угтвар болгох явдал юм. Хэрэв таны нэр John Q. Public бол та өөрийн функцийг jqp_output() (...) функц гэж зарлаж болно. Ижил үсэгтэй хэн нэгэн залгаастайгаа ижил зүйлийг хийх магадлал боломжтой боловч бага байна.

Хоёр дахь, магадгүй илүү хялбар шийдэл бол залгаасын функцүүдийг ангид багтааж, ангийн аргуудыг статик байдлаар дуудах явдал юм. Энэ нь байгаагаас илүү төвөгтэй сонсогдож байна.

Дээр дурдсан жишээнүүдийг өргөжүүлсэн энэ ангийг авч үзье.

Ангийн имэйл илгээгч ( статик функц send($post_ID) ( $friends = " [имэйлээр хамгаалагдсан],[имэйлээр хамгаалагдсан]"; mail($friends,"sally"s blog updated","Би зүгээр л блогтоо ямар нэгэн зүйл орууллаа: http://blog.example.com"); $post_ID буцаах; ) ) add_action("publish_post", массив("имэйл", "илгээх"));

Энэ анги дуудлаа имэйл илгээгчаргатай илгээхЭнэ нь залгаасын функцийг хэрэгжүүлдэг.

Ангийн гаднах add_action() функц нь WordPress руу залгах үйлдлийг WordPress дээр нэмдэг илгээхнийтлэл нийтлэгдсэн үед арга. Хоёрдахь параметрт ашигласан массив нь залгаасын системд "илгээх" нэртэй "и-мэйл илгээгч" ангийн статик аргыг дуудахыг хэлдэг.

Функц илгээхнь дэлхийн нэрийн орон зайгаас ангиллын мэдэгдлээр хамгаалагдсан. send()-г шууд дуудах боломжгүй, тиймээс бусад нэрлэсэн функцууд илгээхэнэтэй мөргөлдөхгүй. Хэрэв та send() руу залгахыг хүсвэл үүнтэй адил хамрах хүрээг тодорхойлох оператор ашиглах хэрэгтэй болно: emailer::send()

Дээрх жишээ нь статик аргуудад зориулагдсан болно. Хэрэв танд ангийн жишээ байгаа бол энэ нь ажиллахгүй. Нэгэн жишээний аргыг дуудах чамд хэрэгтэйжишээг хувьсагч болгон дамжуулах. Үүнийг харгалзан өөрчилсөн дээрх жишээг авч үзье.

Ангийн имэйл илгээгч ( function send($post_ID) ( $friends = " [имэйлээр хамгаалагдсан],[имэйлээр хамгаалагдсан]"; mail($friends,"sally"s blog updated","Би зүгээр л блогтоо ямар нэгэн зүйл орууллаа: http://blog.example.com"); $post_ID буцаах; ) ) $myEmailClass = шинэ имэйл илгээгч(); add_action("publish_post", массив($myEmailClass, "илгээх"));

Хичээл бол төвөгтэй сэдэв юм. Ангиудын PHP баримтаас тэдгээрийн талаар дэлгэрэнгүй уншина уу.

WordPress руу залгана уу

Таны функц тодорхойлогдсоны дараа дараагийн алхам бол WordPress дээр "дэгээдэх" эсвэл бүртгүүлэх явдал юм. Үүнийг хийхийн тулд залгаас файлынхаа глобал гүйцэтгэх зайд залгана уу:

Нэмэх_үйлдэл("дэгээ_нэр", "таны_үйл ажиллагааны_нэр", , );

Hook_name WordPress-с өгсөн үйлдлийн дэгээний нэр бөгөөд энэ нь таны функцийг ямар үйл явдалтай холбохыг зааж өгдөг. your_function_name Hook_name-ээр заасан үйл явдлын дараа гүйцэтгэхийг хүсэж буй функцын нэр. Энэ нь стандарт php функц, WordPress цөмд байгаа функц эсвэл залгаас файлд таны тодорхойлсон функц байж болно (дээр тодорхойлсон "email_friends" гэх мэт). priority Тодорхой үйлдэлтэй холбоотой функцүүдийн гүйцэтгэх дарааллыг тодорхойлоход ашигладаг нэмэлт бүхэл аргумент (өгөгдмөл: 10). Өмнөх гүйцэтгэлтэй харгалзах тоонуудыг доошлуулж, ижил ач холбогдолтой функцуудыг үйлдэлд нэмсэн дарааллаар гүйцэтгэнэ. accepted_args Таны функц хэдэн аргументыг хүлээн авах боломжтойг тодорхойлох нэмэлт бүхэл аргумент (анхдагч 1) бөгөөд зарим дэгээ нь таны функцэд нэгээс олон аргумент дамжуулж чаддаг тул ашигтай. Энэ параметр нь 1.5.1 хувилбарт шинэ юм.

Дээрх жишээнд бид залгаасын файлд дараах мөрийг оруулах болно.

Нэмэх_үйлдэл("нийтлэл_нийтлэл", "и-мэйл_найзууд");

Суулгаж идэвхжүүлнэ үү

Шүүлтүүрийн дэгээгээ ажиллуулах сүүлчийн алхам бол файлыг суулгаж, залгаасыг идэвхжүүлэх явдал юм. Таны бичсэн PHP функц болон дуудлага нь хамтдаа PHP файл руу орох ёстой бөгөөд PHP файлыг файлд суулгасан байх ёстой. wp-content/pluginsлавлах. Үүнийг суулгасны дараа та WordPress-ийн админ хэсэгт зочилж, залгаасыг идэвхжүүлэх шаардлагатай болно; дэлгэрэнгүй мэдээллийг үзнэ үү.

Шүүлтүүрийн одоогийн дэгээ

Идэвхжүүлэх / Идэвхгүй болгох / Устгах

Хэрэв таны залгаас зөвхөн идэвхжүүлэх эсвэл идэвхгүй болгох үед дуусгах даалгавартай бол үүнийг ашиглаж болно. Үйлдлийн лавлагаа - WordPress үйлдлийн дэгээний жагсаалт

Гадаад нөөц

  • Адам Брауны WordPress дэгээ мэдээллийн сан нь бүх WordPress дэгээгүүдийн мэдээллийн сан бөгөөд тэдгээр нь ямар хувилбараас гаралтай болохыг харуулж, тэдгээрийг ашигладаг эх кодын цэгүүдтэй холбодог. Энэ бол хамгийн бүрэн гүйцэд.
  • Отто WordPress дээр:

Yandex.
Энэ бол вэб үйлчилгээ тул та үүнийг нэмэх шаардлагагүй.

Сервер эзэмшигчид энэ залгаасыг идэвхжүүлэхийн тулд тусгай түлхүүр хэрэгтэй.
Yandex вэбсайт руу нэвтэрч, энэ түлхүүрийг аваад API тохиргоонд оруулна уу.
Үнэгүй түлхүүр нь сар бүр "зөвхөн" 10,000,000 тэмдэгтийг дэмждэг гэдгийг анхаарна уу, гэхдээ та хүссэнээрээ хэдэн товчлуур үүсгэж болно.

Эдгээр нь боломжтой хэлүүд юм:

SpoilerTarget">Spoiler

АЗЕРБАЙЖАН
Албани
АНГЛИ ХЭЛ
АРАБ
АФРИКАЧУУД
БАСК
БЕЛОРУС
БОЛГАР
БОСНИ
УЭЛЬШ
УНГАР
ВЬЕТНАМ
ГАЙТИАН
ГАЛИЧ
Голланд
ГРЕК
ГҮРЖ
ДАН
ИНДОНЕЗ
Ирланд
Итали
ИСЛАНД
Испани
КАННАДА
ХЯТАД
СОЛОНГОС
ЛАТИН
ЛИТВ
МАКЕДОН
МОНГОЛ
ГЕРМАН
НЕПАЛ
НОРВЕГ
ПЕРС
ПОЛЬШ
ПОРТУГАЛ
РУМЫН
ОРОС
СЕРБ
СЛОВАК
СЛОВЕН
СУНДАН
ТУРК
УЗБЕК
УКРАИН
ФИНЛАНД
ФРАНЦ
ХИНДИ
ХОРВАТ
ЧЕХ
ШВЕД
Шотланд
ЭСТОНИ
ЯПОН

Та серверт нэгдэх үед таны хэл нь серверийн хэл юм.
Үүнийг өөрчлөхийн тулд зүгээр л бичнэ үү /lang(зөвшөөрөл: translator.lang) цэснээс хэлээ сонгоно уу.

Хэрэв та хамаарлыг хэрхэн нэмэхээ мэдэхгүй байгаа бол эндээс уншина уу.

Хөгжүүлэгч
Та Java >= 8 ашиглаж байгаа эсэхээ шалгаарай.
JAR-г бүтээх замдаа нэмнэ үү. Дараа нь "Гарын авлагын манифест" тохиргоог хийж, төсөлдөө MANIFEST.MF-ээ үүсгэнэ үү. Бичих:

Үндсэн ангилал: таны.багц.Анги
Class-Path: ..\lib\Translator.jar

Серверийн эзэд
Та Java >= 8 ашиглаж байгаа эсэхээ шалгаарай.
нэртэй хавтас үүсгэ либүндсэн серверийн үндэс дээр JAR-г энд байрлуул.
Мөн та үүнийг залгаасуудын хавтсанд оруулах хэрэгтэй.

//Тоглогчийн хэл рүү автоматаар орчуулсан мессежийг илгээж байна
p.sendMessage("§a" + Translator.translate("Сайн уу!", p));

//Гараар орчуулсан мессежийг илгээж байна
p.sendMessage("§a" + Translator.translate("Сайн уу!", Хэл. АНГЛИ, Хэл.ИТАЛЬ));

//Серверийн хэлийг авч байна
Хэл serverLang = Translator.getServerLanguge();

//Тоглогчийн хэлийг авч байна
Language playerLang = Translator.getPlayerLanguage(p);

  • Хэрэв та үүнийг ашигладаг залгаасыг идэвхжүүлсэн үед API-г дахин ачаалбал энэ нь гацах болно. Гараар засахын тулд залгаасыг буулгаж, API-г дахин ачаалж, залгаасыг ачаална уу
  • Өнгөний кодыг дэмждэггүй. Тэдгээрийг ашиглахын тулд дээрх жишээг үзнэ үү
  • Бага зэрэг хоцролт (API нь эх текстийг орчуулж, JSON хүлээн авах шаардлагатай)

Хэрэв танд ямар нэгэн асуудал байгаа бол хэлэлцүүлэгт нийтлэл бичих эсвэл надтай хувийн мессежээр холбоо бариарай. Би шүүмжийн хэсгийн алдааны тайланд хариу өгөхгүй.

Одоогоор энэ API ашиглаж байгаа залгаасууд байхгүй байна. Хэрэв та үүнийг ашиглаж байгаа бол надад хэлээрэй, би энд нэмэх болно

Сүүлийн үеийн тоймууд

  1. Хувилбар: 1.0

    Гайхалтай! Gamehosting Powered by Italiano? se si: sai perché da questo errore all" avvio?

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

    : java.io.IOException: Боломжгүй trovare il percorso specificato
    : java.io.WinNTFileSystem.createFileExclusively (Уугуул арга)
    : java.io.File.createNewFile (Үл мэдэгдэх эх сурвалж)
    : eu.iamgio.translator.UsersFileLoader.loadRegisterFile хаягаар(UsersFileLoader.java:21)
    : eu.iamgio.translator.Translator.onEnable хаягаар(Translator.java:35)
    : org.bukkit.plugin.java.JavaPlugin.setEnabled дээр(JavaPlugin.java:321)
    : org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340)
    : org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405)
    : org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:357)
    : org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins (CraftServer.java:317)
    : net.minecraft.server.v1_8_R3.MinecraftServer.s (MinecraftServer.java:414)
    : net.minecraft.server.v1_8_R3.MinecraftServer.k (MinecraftServer.java:378)
    : net.minecraft.server.v1_8_R3.MinecraftServer.a дээр(MinecraftServer.java:333)
    : net.minecraft.server.v1_8_R3.DedicatedServer.init дээр(DedicatedServer.java:263)
    : net.minecraft.server.v1_8_R3.MinecraftServer.run (MinecraftServer.java:525)
    : java.lang.Thread.run (Тодорхойгүй эх сурвалж)

2015 оны сүүлээр гарсан. Гэсэн хэдий ч ерөнхийдөө зөвхөн дэвшилтэт хөгжүүлэгчид энэ санал хэр хүчтэй болохыг олж мэдэхэд цаг зарцуулсан.

WordPress REST API багц нь орчин үеийн бүх шинэчлэлтүүдийг нэгтгэж, загвар, гар утасны програм болон бусад зүйлд нэгтгэгдэх боломжтой API-г өгдөг. Өөрөөр хэлбэл, энэ нь хөгжүүлэгчдэд урд талын интерфейсийг өгөгдлийн менежментээс салгах боломжийг олгодог бөгөөд ямар ч програм WordPress-тэй харилцах боломжийг олгодог. Энэ хэрэгсэл хэрхэн ажилладаг талаар мэдэх нь WordPress сайтаа өргөжүүлэх бараг хязгааргүй боломжуудын үүдийг нээж чадна.

Энэ нийтлэлд бид танд WordPress REST API төслийг танилцуулж, яагаад ийм сайн болохыг тайлбарлаж, дараа нь үүнийг ашиглах зарим санааг санал болгох болно. Тиймээс цаг заваа дэмий үрэхгүй, эхэлцгээе!

WordPress REST API-г танилцуулж байна

WordPress REST API төсөл (REST from Representational State Transfer) нь WordPress нь бүрэн хэмжээний хэрэглээний платформ болохын тулд алхам хийж байгааг баталж байна. Энэ нь WordPress-ийн цөмд стандарт REST API-г нэмдэг тул түүний оршихуй нь анхаарал татахуйц юм.

Уг төслийг анх 2013 онд хөгжүүлэгч Райан МакКью, Рэйчел Бейкер нар хөгжүүлэгчдэд зориулан GitHub-д байршуулсан. Бие даасан REST API залгаасыг 2015 оны 12-р сард маш их дэмжлэг авч, чадавхийг нь сайжруулахаар ажиллах хүсэлтэй 100 орчим хувь нэмэр оруулагчдыг татсаны дараа WordPress цөмд суурилуулсан.

WordPress REST API нь үндсэн хэсэг болсноос хойш энэ нь үр дүнтэй гэдгээ баталсан. Таны төслүүдэд ашиглах, урам зориг өгөх талаар тодорхой цөөн хэдэн бодит жишээ энд байна:

  1. Event Espresso нь REST API-г ашиглан хөгжүүлэгчдэд өөрсдийн дэлхийн дэд бүтцэд хандах боломжийг олгож, үйлчилгээгээ ашиглан программ боловсруулах боломжийг олгодог.
  2. Simmer нь хөгжүүлэгчдийн функцийг бүрэн хэмжээгээр өргөжүүлэхийн тулд API-д хандах боломжийг олгодог гар утасны програмэсвэл загваруудыг өөрчлөх.
  3. JoinIn нь REST API ашиглан өөрийн "суулгах боломжтой" виджетийг хангадаг бөгөөд үүнийг хаана ч байсан холбогдох өгөгдлөөр дүүргэдэг.

REST API-ийн шинэлэг зорилгын тухайд энэ бол мөсөн уулын зөвхөн орой юм. Гэсэн хэдий ч REST API өөрөө хэрхэн ажилладаг талаар ярилцъя.

WordPress REST API хэрхэн ажилладаг

Товчхондоо, REST API нь мэдээллийн сан эсвэл хэрэглэгчийн интерфэйс рүү шууд хандахгүйгээр нэг байршлаас нөгөө рүү текст өгөгдлийг удирдах замаар ажилладаг. Олон төрлийн API (Application Programming Interfaces) байдаг боловч REST нь орчин үеийн, хамааралтай стандарт хэвээр байна.

REST API нь Hyper Text Transfer Protocol (HTTP) хандалтын цэгүүдээр JavaScript Object Notation (JSON) форматаар дамждаг. Энгийнээр хэлбэл, эдгээр технологиуд нь JavaScript объект шиг ажилладаг өгөгдлийг дамжуулахын тулд өвөрмөц вэб хаяг ашиглан API-д хандах боломжийг олгодог.

Хэрэв та JavaScript эсвэл түүний объектын тодорхойлолттой хэзээ ч ажиллаж байгаагүй бол JSON-ийн үндсийг мэдэж аваарай. Одоо бид REST API-ийн тухай ойлголтыг бага зэрэг тодорхой болгосон тул энэ нь WordPress ашиглан хөгжүүлэлтийн процесст хэрхэн том нөлөө үзүүлж болох талаар ярилцъя.

WordPress REST API нь хөгжүүлэгчдэд юу гэсэн үг вэ?

WordPress REST API нь вэб сервер эсвэл таны аль ч програмтай WordPress суулгацын бүх нийтийн интегратор юм үйлдлийн систем. Эцсийн эцэст энэ нь юугаар барьж болох цорын ганц хязгаарлалт гэсэн үг юм WordPress ашиглан, зөвхөн бидний төсөөлөл юм. Та ямар ч платформ эсвэл хэл дээр бичигдсэн ямар ч програм үүсгэж, REST API-ээр дамжуулан өгөгдлийг боловсруулахын тулд WordPress ашиглаж болно. Нээлттэй, найрсаг WordPress нийгэмлэг нь асар их боломжийг санал болгодог.

REST API нь JavaScript дээр суурилагдсан бөгөөд энэ нь улам бүр анхаарал татаж байгаа бөгөөд энэ нь ямар програмчлалын хэлийг мэдэх нь чухал болохыг харуулж байна. Сервер талын JavaScript бол шинэ PHP гэдгийг та удахгүй олж мэдэх болно. Үүнийг WordPress.com-ийн шинэ програм хангамж болох Calypso-оос аль хэдийн харж болох бөгөөд энэ нь бүхэлдээ JavaScript болон REST API дээр ажилладаг.

Аппликешнүүдийг (WordPress-ын үндсэн гэх мэт) WordPress өгөгдөлтэй харьцах арга замыг стандартчилснаар WordPress хөгжүүлэлт илүү хялбар бөгөөд ойлгомжтой болно. Нэмж дурдахад энэ нь гуравдагч талын платформтой нэгтгэх боломжийг олгоно.

Танд одоо энэ технологийг хэрхэн ашиглаж сурах нь чухал болсон олон шалтгаан байгаа гэж найдаж байна. REST API-г өөрийн ажилдаа ашиглах эхний алхмуудыг хийх цаг болжээ!

WordPress REST API-г ашиглаж эхлэх 5 алхам

Өмнө дурьдсанчлан, REST API нь HTTP эх сурвалжийг дуудаж болох ямар ч програм эсвэл програмчлалын хэл дээр ашиглагдаж болно. Бид REST API хүсэлт гаргахдаа командын мөрийг ашиглахад анхаарлаа хандуулах болно, учир нь энэ нь сургалтын үйл явцыг сааруулж болох алдаа гаргах хамгийн энгийн арга юм.

Үүнийг хийхийн тулд та компьютер дээрээ командын мөрийн интерфейс (Command Line Interface CLI) бүхий програмыг нээх хэрэгтэй. терминал macOS эсвэл Linux дээр болон тушаалын мөр Windows дээр. CLI нь мэдээлэл хүсэх, боловсруулах нэмэлт скрипт бичих шаардлагагүйгээр REST API-тай шууд харилцах боломжийг олгодог. Таны CLI-д бичсэн аливаа хүсэлт нь PHP, JavaScript эсвэл өөр хэл дээрх скрипт байж болох ч тус бүрийн арга нь өөр байх болно. CLI дахь командуудыг шууд гүйцэтгэх. Хүссэн тушаалаа бичээд Enter дарна уу.

Мөн бид эдгээр алхмуудыг шууд сайт дээр туршиж үзэхийн оронд демо сайт үүсгэх эсвэл орон нутагт туршихыг зөвлөж байна. Эцэст нь бас нэг нөхцөл бол таны сайтын WordPress хувилбар 4.4 ба түүнээс дээш байх явдал юм. Хэрэв та бэлэн бол эхэлцгээе!

Алхам 1: REST API-ийн үндсэн ойлголтуудтай танилц

Эхлэхээсээ өмнө REST API-ийн үндсэн ойлголтуудтай танилцъя. Зөвхөн таван үндсэн ойлголт, нэр томьёо байдаг бөгөөд таны мэдэж байх ёстой. Тэднийг харцгаая:

  1. Маршрут ('Маршрут') ба Нөөцүүд эсвэл хандалтын цэгүүд ('Төгсгөлийн цэгүүд').Энэ бол REST API-г ойлгоход хамгийн чухал зүйл юм. Тодорхой HTTP арга (статик өгөгдлийн багц эсвэл үйлдэл гэх мэт) тодорхой маршруттай холбогдсон үед маршрутууд нь таны нөөц хооронд шилжихэд тусалдаг. Жишээ нь, /wp-json/ нь бидэнд боломжтой маршрутуудыг харуулахын тулд үүсгэсэн нөөц болгон тохируулсан маршрут юм.
  2. Хүсэлтүүд.Тэдгээрийг зөв нөөцийг ажиллуулж, өгөгдлийг дамжуулснаар бий болгодог.
  3. Хариулт (Хариултууд).Товчхондоо, ямар нэг зүйл буруу болсныг мэдэгдэхийн тулд хүссэн мэдээллээ өгөх эсвэл алдаа буцаах.
  4. Схемүүд.Доорх загвар хариултууд байгаа тул та хэрэгтэй мэдээллээ хаанаас хайхаа үргэлж мэддэг байх болно.
  5. Хяналтын ангиуд.Тэд танд өөрийн маршрут, нөөцийг бий болгох боломжийг олгодог. Хэрэв та санаа зовох хэрэггүй бол тэд хожим нь илүү хэрэгтэй болно.

Та эдгээр таван ойлголтыг ойлгосны дараа REST API-д хандах цэгээс нь эхлээд гүнзгий нэвтэрч эхлэх боломжтой.

Алхам 2: Хамгийн хэрэгтэй REST API хандалтын цэгүүдийг олоорой

WordPress REST API нь бүх хандалтын цэгүүд (нөөцүүд) бүхий лавлах гарын авлагыг санал болгодог бөгөөд эндээс та өөрт хамгийн хэрэгтэй зүйлийг олох боломжтой. Юуны өмнө та HTTP REST API дуудлагыг хэрхэн бүтээх талаар мэдэх хэрэгтэй. Аливаа WordPress API дуудлагын үндсэн хэсэг нь иймэрхүү харагдаж байна, солих yourdomain.comчамд:

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

Та өөрийн URL-г ашиглан CLI дээрээ curl командыг ажиллуулж холболтыг шалгаж болно:

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

Таныг мессежээр угтах ёстой HTTP. Та энэ тушаалыг зарим үндсэн нөөцийг ашиглан өөрчилж болно. Одоо бид curl-ийн GET хувилбарыг л ашиглаж байна.

WordPress дээрх нийтлэлийнхээ JSON жагсаалтыг авахын тулд та дараахь зүйлийг ашиглаж болно.

Үүний дараа одоо байгаа бүх WordPress хуудсуудыг шалгахын тулд дараахь зүйлийг туршиж үзээрэй.

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

Та CLI дээрх эдгээр хандалтын цэг бүрийг (ба түүнээс дээш!) туршиж үзэх боломжтой бөгөөд тус бүр нь ямар хариу үйлдэл үзүүлэхийг харах боломжтой.

Алхам 3: REST API баталгаажуулалтын үндсийг сур

Одоо баталгаажуулалтын талаар суралцах цаг болжээ. REST API-н зарим үйлдэл болон өгөгдөл олон нийтэд нээлттэй байхад зарим нь таныг администратороор нэвтэрсэн байхыг шаарддаг. Гэхдээ энэ нь REST API бөгөөд зөвшөөрөл авахаар нэвтрэх газар байхгүй. Үүний оронд та нийтлээгүй нийтлэлүүдийг үзэх, нийтлэлийг өөрчлөх зэрэг админд хандах шаардлагатай хүсэлтийн үед баталгаажуулах боломжтой.

WordPress REST API Basic Auth залгаасыг суулгаж эхэлцгээе. Энэ нь хөгжүүлэгчдэд REST API-г хурдан сурахад зориулсан энгийн залгаас бөгөөд бодит вэбсайтуудад зориулагдаагүй болно. Гэсэн хэдий ч суулгах процесс нь бусад залгаастай адил байна.

Үндсэн баталгаажуулалтыг суулгасны дараа та туг бүхий CLI-ээр дамжуулан баталгаажуулах боломжтой болно хэрэглэгч. Хэрэглэгчийн баталгаажуулалтын аргыг ашиглан хэрхэн ашиглах жишээ энд байна буржгарНийтлэгдээгүй нийтлэлүүдийг үзэхийн тулд:

Curl -X GET --хэрэглэгчийн нэр:нууц үг -i http://yourdomain.com/wp-json/wp/v2/posts?status=draft

Олон нийтийн мэдээллийг үзэхээс бусад аливаа үйл ажиллагаанд баталгаажуулалт шаардлагатай болно. Та үндсэн нэвтрэлт танилтыг олж авсны дараа REST API баримт бичигт санал болгож буй хөгжүүлэлтийн бусад сонголтуудыг судлах боломжтой.

Алхам 4: REST API ашиглан анхны WordPress нийтлэлээ сонго

Curl ашиглан үндсэн REST API дуудлагыг хэрхэн хийхийг ойлгосны дараа тодорхой оруулгыг сонгоод үзээрэй. Эхлээд бид өмнөх шигээ бүх хэвлэлийг харуулъя:

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

Та нийтлэл, хуудас, ангилал зүйг харуулахыг хүсч байгаа эсэхээс үл хамааран REST API эх сурвалжид энэ ID хавсралтын аргыг ашиглаж болно.

Алхам 5: REST API ашиглан WordPress нийтлэлдээ өөрчлөлт оруулах

Эцэст нь таны сонгосон хэвлэлд өөрчлөлт оруулахыг хичээцгээе. Тушаалын оронд СОНГОЛТэсвэл АВАХ, энэ удаад бид ашиглах болно POSTөөрчлөлт хийх. АВАХүед өгөгдлийг уншихад ашигладаг POST- тэднийг илгээх.

Хүсэлт илгээж нийтлэлийнхээ нэрийг өөрчилье POSTбаталгаажуулалтын өгөгдлийн хамт. Шинэ өөрчлөлтүүдийг туг ашиглан хийнэ гтушаалын төгсгөлд. Бид хэрэглэгчийн мэдээллийг дамжуулах болно JavaScript объектгэх мэт гарчгийн хувьсагчийг утгаар нь тохируулах замаар Миний шинэ гарчигдоорх кодонд үзүүлсэн шиг:

Curl -X POST --хэрэглэгчийн нэр:нууц үг http://yourdomain.com/wp-json/wp/v2/posts/ -d "("гарчиг":"Миний шинэ гарчиг")"

Хэрэглэгчийн нэр, нууц үг, шуудангийн ID, гарчгийг өөрийн нэрээр солих эсэхээ шалгаарай. Та өөрчлөлтийг шалгахын тулд өгөгдсөн хэвлэлийг дахин сонгож болно:

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

Баяр хүргэе! Та WordPress REST API ашиглан анхны админ засвараа хийлээ. Мэдээжийн хэрэг, энэхүү үндсэн гарын авлага нь зөвхөн REST API-ийн өгсөн боломжуудын гадаргууг зурж өгдөг, гэхдээ энэ нь маш сайн эхлэл юм!

Дүгнэлт

WordPress REST API нь WordPress цөмийн хүчирхэг шинэ хувилбар бөгөөд олон хөгжүүлэгчид түүний чадварыг аль хэдийн ашиглаж эхэлсэн байна. Үүний дагуу одоо хэрхэн ажиллах талаар сайн мэддэг болсон шинэ боломж, та програмчлалын ур чадвараа дээшлүүлж, WordPress-ийг хүрээ болгон ашиглан програм үүсгэх боломжтой болно.

Дахин дүгнэхэд бид WordPress REST API-тай хэрхэн харилцах талаар суралцах замдаа таван алхмыг туулсан:

  1. REST API-ийн үндсэн ойлголтуудын танилцуулга.
  2. Хамгийн хэрэгтэй нөөцүүд/REST API хандалтын цэгүүд.
  3. REST API баталгаажуулалтын үндсийг сур.
  4. REST API ашиглан WordPress дээр нийтлэл татаж байна.
  5. REST API ашиглан WordPress нийтлэлийг өөрчлөх.

WordPress REST API-ийн талаар танд ямар асуулт байна вэ? Сэтгэгдэл дээр бидэн рүү бичээрэй!