{"id":230556,"date":"2022-12-12T14:20:00","date_gmt":"2022-12-12T11:20:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230556"},"modified":"2022-12-07T11:14:04","modified_gmt":"2022-12-07T08:14:04","slug":"nimeruumi-atribuutide-hankimine-php-s","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/nimeruumi-atribuutide-hankimine-php-s\/","title":{"rendered":"Nimeruumi atribuutide hankimine PHP-s"},"content":{"rendered":"\n<p>Kui kirjutate piisavalt koodi, mis suhtleb kolmanda osapoole API-dega, avastate enam kui t\u00f5en\u00e4olisemalt, et suhtlete XML-p\u00f5hise API-ga.<\/p>\n<p>Ja \u00f6elge selle kohta, mida soovite: m\u00f5nele meeldib, m\u00f5nele mitte. Kuid need on olemas ja seega on nad mingil hetkel teie arengu vajalik osa.<\/p>\n<p>Kui API on h\u00e4sti l\u00e4bim\u00f5eldud, kasutab see t\u00f5en\u00e4oliselt erinevat t\u00fc\u00fcpi p\u00e4ringute ja vastuste jaoks nimeruume. Ja kui kirjutate nimetatud API jaoks klienti, peate t\u00f5en\u00e4oliselt otsima nimeruumi atribuute.<\/p>\n<p>Seda on lihtne teha, kuid see pole kohe ilmne. Nii et selles postituses toon l\u00e4bi n\u00e4ite, kuidas just seda teha.<\/p>\n<p>Selle n\u00e4ite puhul oletame, et ma helistan XML-p\u00f5hisele API-le. Selleks kasutan <strong><a href=\"https:\/\/github.com\/spatie\/array-to-xml\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Spatie Array-To-XML teeki<\/a><\/strong> (mis on \u00e4\u00e4rmiselt mugav).<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-161843-61e72bb95137b.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-161843-61e72bb95137b.png\" alt=\"Nimeruumi atribuutide hankimine PHP-s\" ><\/a><\/p>\n<p>Taotluse seadistamiseks loon selle sellise massiivi abil <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/8b97e2c98600cc15ea514416ab6e96ae#file-00-request-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">:<\/a><\/strong><\/p>\n<pre><code>&lt;?php\n\n\/\/ Setup the XML to connect to the API endpoint.\n$namespaceExampleGetIDs = [\n    'Version' =&gt; $this-&gt;version,\n    'ApiKey' =&gt; $this-&gt;getPrivateKey(),\n    'acmePasscode' =&gt; $this-&gt;getPasscode(),\n    'Call' =&gt; [\n        '_attributes' =&gt; ['Method' =&gt; 'Namesepace.Example.GetIDs'],\n        'Date' =&gt; $this-&gt;getTimestamp(),\n    ],\n];\n$xml = ArrayToXml::convert($namespaceExampleGetIDs, 'Acme', false);\n<\/code><\/pre>\n<p>Seej\u00e4rel kasutan API-lt p\u00e4ringu tegemiseks API klienti (mis on kokku v\u00f5etud, et see postitus oleks v\u00f5imalikult l\u00fchike). Sealt saame v\u00f5tta vastuse sisu ja teha mis tahes vajalikku t\u00f6\u00f6d (sel juhul kordab see vastuse atribuutide kaudu).<\/p>\n<p>Ja siin tulebki m\u00e4ngu nimeruumide atribuutide toomine. Eeldades, et meil on vaja juurde p\u00e4\u00e4seda \u00fchele atribuudile v\u00f5i atribuudi atribuudile, toimige j\u00e4rgmiselt, <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/8b97e2c98600cc15ea514416ab6e96ae#file-01-response-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">kui see on nimeruumis:<\/a><\/strong><\/p>\n<pre><code>&lt;?php\n\n\/\/ Now make a request to the server.\n$response = $this-&gt;makePostRequest($xml);\n$xmlResponse = new SimpleXMLElement($response-&gt;getBody()-&gt;getContents());\n\n\/\/ Iterate through all of the event IDs to get the information about them.\n$events = [];\nforeach ($xmlResponse-&gt;{'Namesepace.Example.GetIDs'}-&gt;EventID as $eventId) {\n    \/\/ Work with the $eventId however necessary...\n}\n<\/code><\/pre>\n<p>L\u00fchidalt \u00f6eldes toimivad sulgud &quot; <strong><a href=\"https:\/\/php.net\/manual\/en\/language.variables.variable.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">muutuvate muutujatena<\/a><\/strong> &quot; ja annavad meile juurdep\u00e4\u00e4su objekti d\u00fcnaamilisele olemusele.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-161843-61e72bbe3fdf1.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-161843-61e72bbe3fdf1.png\" alt=\"Nimeruumi atribuutide hankimine PHP-s\" ><\/a><\/p>\n<p>Kasutusjuhendist:<\/p>\n<blockquote>\n<p>M\u00f5nikord on mugav muutujate nimede olemasolu. See on muutuja nimi, mida saab d\u00fcnaamiliselt m\u00e4\u00e4rata ja kasutada.<\/p>\n<\/blockquote>\n<p>Ja kuna nende d\u00fcnaamiline seadistamine on kasulik, on loomulikult kasulik neid d\u00fcnaamiliselt hankida.<\/p>\n<p>Nii et j\u00e4rgmine kord, kui t\u00f6\u00f6tate XML-p\u00f5hise API-ga (v\u00f5i v\u00f5ib-olla mis tahes API-ga), pange t\u00e4hele, et saate m\u00e4\u00e4rata objekti nimeruumi omaduste hankimise muutujate kaudu.<\/p>\n<p>See on loogiline, eks?<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kui kirjutate API jaoks klienti, peate v\u00f5ib-olla otsima nimeruumi atribuute.<\/p>\n","protected":false},"author":1,"featured_media":236089,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,894,802],"tags":[1165],"class_list":["post-230556","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","category-kood","category-php-4","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/230556","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/comments?post=230556"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/230556\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/236089"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=230556"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=230556"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=230556"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}