1. Go to this page and download the library: Download squareetlabs/laravel-toon library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
squareetlabs / laravel-toon example snippets
use Squareetlabs\LaravelToon\Facades\Toon;
// Convert to TOON
$data = [
'user' => 'John',
'email' => '[email protected]',
'roles' => ['admin', 'user']
];
$toon = Toon::encode($data);
echo $toon;
// user: John
// email: [email protected]
// roles[2]: admin,user
// Or use helpers
echo toon_readable($data); // Readable format
echo toon_compact($data); // Compact format
echo toon_tabular($data); // Tabular format
use Squareetlabs\LaravelToon\Adapters\OpenAIAdapter;
$openai = new OpenAIAdapter();
// Send compressed message to OpenAI
$response = $openai->sendMessage(
'Analyze this compressed JSON...',
'gpt-4o',
['temperature' => 0.7]
);
// Chat with compressed messages
$messages = [
['role' => 'user', 'content' => 'First message'],
['role' => 'assistant', 'content' => 'Response'],
];
$chatResponse = $openai->chat($messages, 'gpt-4o');
// Encoding
toon($data) // Readable format
toon_compact($data) // Compact format
toon_readable($data) // Readable format
toon_tabular($data) // Tabular format
toon_convert($data, 'compact') // With specified format
// Decoding
toon_decode($toon) // TOON to PHP
// Compression and Metrics
toon_compress($data) // Full compression
toon_metrics($data) // Detailed metrics
toon_compression_summary($data) // Summary
// Tokens
toon_estimate_tokens($content) // Estimate tokens
toon_compare_json_vs_toon($data) // Compare JSON vs TOON
toon_analyze($content) // Detailed analysis
// Benchmark
toon_benchmark($data, 100) // Performance benchmark
// Costs
toon_cost_estimate('gpt-4o', $data) // Estimate cost
toon_cost_compare_models($data) // Compare models
toon_cost_with_json_comparison('gpt-4o', $data) // With JSON comparison
toon_budget_analysis('gpt-4o', 100, $data) // Budget analysis
use Squareetlabs\LaravelToon\Traits\HasToonEncoding;
class User extends Model
{
use HasToonEncoding;
}
$user = User::first();
// Convert to TOON
echo $user->toToon(); // Readable format
echo $user->toToonCompact(); // Compact format
// Get metrics
$metrics = $user->getToonMetrics();
$ratio = $user->getToonCompressionRatio();
use Squareetlabs\LaravelToon\Rules\ValidToonFormat;
$request->validate([
'compressed_data' => [new ValidToonFormat()],
]);
$prompt = "Analyze this dataset with millions of records...";
$data = $largeDataset;
$optimized = [
'system_message' => 'You are an expert data analyst',
'user_prompt' => $prompt,
'data' => toon_compact($data),
];
// Save 60% of tokens
$tokens = toon_estimate_tokens(json_encode($optimized));
// In your controller
public function sendToAI(Request $request)
{
$data = $request->validated();
$budget = toon_budget_analysis('gpt-4o', 100, $data);
if (!$budget['within_budget']) {
return response()->json([
'error' => 'Exceeds token budget'
]);
}
// Proceed...
}
use Squareetlabs\LaravelToon\Facades\Toon;
class ToonTest extends TestCase
{
public function test_compression_ratio()
{
$data = ['users' => range(1, 1000)];
$ratio = Toon::calculateCompressionRatio($data);
$this->assertLessThan(0.4, $ratio); // Less than 40%
}
}