https://github.com/dconco/phpslides-status
PhpSlides Status Response in handling API
https://github.com/dconco/phpslides-status
api http-status phpslides phpslides-status status
Last synced: 11 months ago
JSON representation
PhpSlides Status Response in handling API
- Host: GitHub
- URL: https://github.com/dconco/phpslides-status
- Owner: dconco
- License: mit
- Created: 2024-06-30T05:58:53.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-22T16:04:17.000Z (almost 2 years ago)
- Last Synced: 2024-12-06T06:33:16.589Z (over 1 year ago)
- Topics: api, http-status, phpslides, phpslides-status, status
- Language: PHP
- Homepage:
- Size: 71.3 KB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# HTTP PhpSlides-Status
## Installation
After creating your PhpSlides project, navigate to the project directory and install PhpSlides-Status package using this command below:
```bash
composer require dconco/phpslides-status
```
Or download the zip file directly from the released version, ectract the file and add it to a folder 📂 in your PhpSlides project.
[Download phpslides-status zip](https://github.com/dconco/phpslides-status/releases/tag/v0.0.1)
## Documentation
### Using Status() class function
Create a Status instance for API response. Which is used in PhpSlides API Controller Class
```php
```
You can pass a string value to the `Status()` function parameter which is by default `Response::JSON` using the Response namespace `PhpSlides\Http\Response`
In returning value in JSON format. The parameter includes this enum value type:
```php
use PhpSlides\Http\Response;
Response::JSON;
Response::HTML;
Response::CSV;
Response::XML;
new Status(Response::JSON);
```
If the parameters contain any value apart from the `enum ResponseType value`
it'll return default value an array form, which isn't recommended.
### Some Functions & Methods
#### success() method
Returning a default success message, using the `success()` method.
```php
success();
}
}
?>
```
The `success()` method takes 2 parameters, `$data` to render and `$status` which is the status code.
The first parameter can be either Array or String and the second parameter is an Integer from `StatusCode` static class.
It returns `Response::` which is passed as a parameter in the `Status()` function.
```php
use PhpSlides\StatusCode;
$user = [
"name": "John Doe",
"email": "john@doe.com"
];
return $status->success($user, StatusCode::OK);
```
#### error() method
Returning an error Api message using the `error()` method
It also takes 2 parameters, the first is either an Array or String and the second which is interger for setting `http_response_code`,
it has default value of `StatusCode::INTERNAL_SERVER_ERROR`
It also returns `Response::`
```php
return $status->error('User not Found', StatusCode::NOT_FOUND);
```
#### Full code for success() & error() methods
If no parameter is specified in the `Status()`,
by default it's returning `Response::JSON` for returning response in JSON format
```php
success($user); // by default the second parameter is `StatusCode::OK`
} else {
// not found message
$response = $status->error("User user_id=$user_id is not found", StatusCode::NOT_FOUND);
}
return $response; // return message as a JSON format `Response::JSON`
}
}
?>
```
## Namespace and Status Interface
### namespace
`\PhpSlides\Status()`
`\PhpSlides\StatusCode`
`\PhpSlides\StatusText`
`\PhpSlides\Http\Response`
`\PhpSlides\Enums\ResponseType`
`\PhpSlides\Interface\StatusInterface`
`\PhpSlides\Interface\ResponseInterface`
`\PhpSlides\Exception\ApiException()`
`\PhpSlides\Exception\ExceptionInterface`
### Status() Interface Methods
`__construct(string $response = Response::JSON)`
`public function getStatus (): int;`
`public function getStatusText (): string;`
`public function getMessage (): mixed;`
`public function get (): string|array;`
`public function getJson (): string;`
`public function set (mixed $data, int $status = StatusCode::NO_CONTENT, string $statusText = StatusText::NO_CONTENT ): void;`
`public function setStatus (int $status): void;`
`public function setStatusText (string $statusText): void;`
`public function setMessage (mixed $message): void;`
`public function error (array|string $data, int $status = StatusCode::INTERNAL_SERVER_ERROR): string|array;`
`public function success (array|string $data, int $status = StatusCode::OK): string|array;`
### Response{} Interface Method
`const JSON = ResponseType::JSON;`
`const HTML = ResponseType::HTML;`
`const CSV = ResponseType::CSV;`
`const XML = ResponseType::XML;`
`public static function json(array $data = [], int $status = StatusCode::OK): string;`
`public static function html(array $data = [], int $status = StatusCode::OK): string;`
`public static function csv(array $data = [], int $status = StatusCode::OK): string;`
`public static function xml(array $data = [], int $status = StatusCode::OK): string;`
`public static function array(array $data = [], int $status = StatusCode::UNSUPPORTED_MEDIA_TYPE): array;`
### enum ResponseType{} Interface
`const JSON = 'JSON';`
`const HTML = 'HTML';`
`const CSV = 'CSV';`
`const XML = 'XML';`