sambenge/codeigniter4-transformer

Simple Transformer layer for CodeIgniter 4 API responses.

Maintainers

๐Ÿ‘ sambenge

Package info

github.com/sambenge/codeigniter4-transformer

pkg:composer/sambenge/codeigniter4-transformer

Statistics

Installs: 55

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.0.0 2025-10-09 23:41 UTC

Requires

  • php: >=7.4

Requires (Dev)

None

Suggests

Provides

None

Conflicts

None

Replaces

None

MIT f9cbda643d86818eafa8644b19ef3ce08a4802ec

  • Sam Benge <sam.woop@bengey.co.uk>

This package is not auto-updated.

Last update: 2026-06-20 01:45:29 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)
]);