48 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
| <?php
 | |
| 
 | |
| /**
 | |
|  * API Response Handler
 | |
|  * Provides a consistent way to send JSON responses from controllers
 | |
|  */
 | |
| class ApiResponse {
 | |
|     /**
 | |
|      * Send a success response
 | |
|      * @param mixed $data Optional data to include in response
 | |
|      * @param string $message Optional success message
 | |
|      * @param int $status HTTP status code
 | |
|      */
 | |
|     public static function success($data = null, $message = '', $status = 200) {
 | |
|         self::send([
 | |
|             'success' => true,
 | |
|             'data' => $data,
 | |
|             'message' => $message
 | |
|         ], $status);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Send an error response
 | |
|      * @param string $message Error message
 | |
|      * @param mixed $errors Optional error details
 | |
|      * @param int $status HTTP status code
 | |
|      */
 | |
|     public static function error($message, $errors = null, $status = 400) {
 | |
|         self::send([
 | |
|             'success' => false,
 | |
|             'error' => $message,
 | |
|             'errors' => $errors
 | |
|         ], $status);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Send the actual JSON response
 | |
|      * @param array $data Response data
 | |
|      * @param int $status HTTP status code
 | |
|      */
 | |
|     private static function send($data, $status) {
 | |
|         http_response_code($status);
 | |
|         header('Content-Type: application/json');
 | |
|         echo json_encode($data);
 | |
|         exit;
 | |
|     }
 | |
| }
 |