sambenge/codeigniter4-transformer

Simple Transformer layer for CodeIgniter 4 API responses.

Installs: 1

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/sambenge/codeigniter4-transformer

1.0.0 2025-10-09 23:41 UTC

This package is not auto-updated.

Last update: 2025-10-10 18:46:25 UTC


README

A lightweight transformer layer for CodeIgniter 4, inspired by Laravel’s API Resources.

🚀 Installation

From Packagist (recommended)

composer require sambenge/codeigniter4-transformer

⚙️ Usage

Create a Transformer

namespace App\Transformers;

use Bengey\Transformers\Transformer;

class UserTransformer extends Transformer
{
    public function transform($user): array
    {
        return [
            'id' => (int) $user['id'],
            'name' => $user['first_name'] . ' ' . $user['last_name'],
            'email' => $user['email'],
            'joined' => date('Y-m-d', strtotime($user['created_at'])),
            'avatar' => base_url('avatars/' . $user['avatar']),
        ];
    }
}

Example

use App\Transformers\UserTransformer;

$users = model('UserModel')->findAll();

// Transform a single record
$user = UserTransformer::make($users[0]);

// Transform multiple records
return $this->response->setJSON([
    'data' => UserTransformer::collection($users)
]);