✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Отримання властивостей простору імен у PHP

17

Коли ви напишете достатньо коду, який взаємодіє зі сторонніми API, швидше за все, ви виявите, що спілкуєтеся з API на основі XML.

І кажіть про це що завгодно: комусь подобається, комусь ні. Але вони існують, і тому колись вони стануть необхідною частиною вашого розвитку.

Якщо API добре розроблений, він, швидше за все, використовуватиме простори імен для різних типів запитів і відповідей. І коли ви пишете клієнт для згаданого API, вам, ймовірно, доведеться зайнятися отриманням властивостей простору імен.

Зробити це легко, але це не відразу видно. Тож у цій публікації я розповім приклад того, як це зробити.

Для цього прикладу припустимо, що я роблю виклик API на основі XML. Для цього я використовую бібліотеку Array-To-XML від Spatie (це надзвичайно зручно).

Отримання властивостей простору імен у PHP

Щоб налаштувати запит, я створюю його за допомогою такого масиву :

<?php

// Setup the XML to connect to the API endpoint.
$namespaceExampleGetIDs = [
    'Version' => $this->version,
    'ApiKey' => $this->getPrivateKey(),
    'acmePasscode' => $this->getPasscode(),
    'Call' => [
        '_attributes' => ['Method' => 'Namesepace.Example.GetIDs'],
        'Date' => $this->getTimestamp(),
    ],
];
$xml = ArrayToXml::convert($namespaceExampleGetIDs, 'Acme', false);

Потім я використаю клієнт API (який був абстрагований, щоб зберегти цю публікацію якомога стислою), щоб зробити запит з API. Звідти ми можемо взяти вміст відповіді та виконати будь-яку необхідну роботу (у цьому випадку це буде ітерація властивостей відповіді).

І саме тут вступає в дію отримання властивостей просторів імен. Якщо припустити, що нам потрібно отримати доступ до однієї властивості або властивості властивості, ось як це зробити, коли це простір імен:

<?php

// Now make a request to the server.
$response = $this->makePostRequest($xml);
$xmlResponse = new SimpleXMLElement($response->getBody()->getContents());

// Iterate through all of the event IDs to get the information about them.
$events = [];
foreach ($xmlResponse->{'Namesepace.Example.GetIDs'}->EventID as $eventId) {
    // Work with the $eventId however necessary...
}

Коротше кажучи, фігурні дужки служать «змінними змінними» і дають нам доступ до динамічної природи об’єкта.

Отримання властивостей простору імен у PHP

З посібника:

Іноді зручно мати змінні імена змінних. Тобто ім’я змінної, яке можна встановлювати та використовувати динамічно.

І оскільки корисно встановлювати їх динамічно, природно, корисно їх динамічно отримувати.

Отже, наступного разу, коли ви працюватимете з API на основі XML (або, можливо, будь-яким API), зауважте, що ви можете налаштувати отримання властивостей простору імен об’єкта через змінні змінні.

Це має сенс, правда?

Джерело запису: tommcfarlin.com

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі