Skip to content

sambenge/codeigniter4-transformer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CodeIgniter 4 Transformer

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)
]);

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages