Skip to content

Muhammad-developer/laravel-xml-helper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laravel XML & JSON Helpers

Laravel XML & JSON Helpers** — это библиотека, которая позволяет легко:

  • Преобразовывать массивы в XML
  • Возвращать XML-ответы в Laravel
  • Формировать стандартизированные JSON API-ответы (успешные, ошибки, пагинация и др.)

Установка

Установите пакет через Composer:

composer require larataj/xml-helpers

Laravel автоматически зарегистрирует провайдер благодаря автодетекту.
Если вы используете Laravel ниже 5.5, добавьте вручную:

// config/app.php
'providers' => [
    Larataj\XmlHelpers\HelpersServiceProvider::class,
],

XML: Использование

1. Преобразование массива в XML

use Larataj\XmlHelpers\ResponseHelper;

$array = [
    'name' => 'John Doe',
    'email' => 'john.doe@example.com',
    'roles' => ['admin', 'editor'],
];

$xml = ResponseHelper::arrayToXml($array);
echo $xml;

Результат:

<?xml version="1.0" encoding="UTF-8"?>
<response>
  <name>John Doe</name>
  <email>john.doe@example.com</email>
  <roles>
    <item>admin</item>
    <item>editor</item>
  </roles>
</response>

2. Возврат XML-ответа в Laravel

use Larataj\XmlHelpers\ResponseHelper;

return ResponseHelper::xml([
    'status' => 'success',
    'message' => 'Данные обработаны',
    'data' => ['id' => 123, 'name' => 'John Doe'],
]);

3. Использование макроса response()->xml()

return response()->xml([
    'status' => 'success',
    'data' => ['id' => 123, 'name' => 'John Doe'],
]);

JSON API: Использование ApiResponse

Библиотека включает удобный хелпер для формирования стандартизированных JSON-ответов.

use Larataj\XmlHelpers\Response\ApiResponse;

Успешный ответ

return ApiResponse::success(['message' => 'OK']);

Ответ 201 Created

return ApiResponse::created($user);

Удаление ресурса

return ApiResponse::deleted();

Ошибки

return ApiResponse::error(['email' => 'Email уже занят']);
return ApiResponse::error('Произошла ошибка');

Пагинация

return ApiResponse::paginated($users, UserResource::class);

Готовые статусы:

ApiResponse::unauthorized(); // 401
ApiResponse::forbidden();    // 403
ApiResponse::notFound();     // 404
ApiResponse::serverError();  // 500
ApiResponse::noContent();    // 204

Пример маршрута для теста

Route::get('/test-xml', function () {
    return response()->xml([
        'name' => 'Laravel',
        'version' => '10.x',
        'features' => ['fast', 'secure', 'elegant']
    ]);
});

Route::get('/test-json', function () {
    return \Larataj\XmlHelpers\Response\ApiResponse::success([
        'framework' => 'Laravel',
        'version' => app()->version(),
    ]);
});

Лицензия

Пакет распространяется под лицензией MIT.

Автор: Muhammad Vafoev


About

A Laravel library to convert arrays to XML and provide XML responses.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages