<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
unionworx / laravel-serializes-models-with-cache example snippets
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use UnionWorx\LaravelSerializesModelsWithCache\SerializesModelsWithCache;
use App\Models\Message;
class SendMessage
{
use Dispatchable, InteractsWithQueue, SerializesModelsWithCache;
public Message $message;
public function handle()
{
// Your job logic
}
}
use UnionWorx\LaravelSerializesModelsWithCache\Attributes\CacheKey;
use UnionWorx\LaravelSerializesModelsWithCache\Attributes\CacheTTL;
use UnionWorx\LaravelSerializesModelsWithCache\Attributes\CacheSkip;
use App\Models\User;
use App\Models\Message;
class SendMessage
{
use Dispatchable, InteractsWithQueue, SerializesModelsWithCache;
#[CacheKey(key: 'custom_key_{id}')]
#[CacheTTL(ttl: 120)]
public Message $message;
#[CacheSkip]
public User $user;
public function handle()
{
// Your job logic
}
}
use UnionWorx\LaravelSerializesModelsWithCache\Attributes\CacheKey;
use UnionWorx\LaravelSerializesModelsWithCache\Attributes\CacheTTL;
use UnionWorx\LaravelSerializesModelsWithCache\Attributes\CacheSkip;
use App\Models\User;
use App\Models\Message;
class SendMessage
{
use Dispatchable, InteractsWithQueue, SerializesModelsWithCache;
public Message $message;
public User $user;
public function handle()
{
// Your job logic
}
public function cacheKey(string $propertyName, mixed $id): ?string
{
if ($propertyName === 'message') {
return 'custom_key_' . $id;
}
}
public function cacheTTL(): array|DateInterval|DateTimeInterface|int|null
{
return [
'message' => 120,
];
}
public function cacheSkip(): ?array
{
return [
'user',
];
}
}
use UnionWorx\LaravelSerializesModelsWithCache\Attributes\CacheKey;
use UnionWorx\LaravelSerializesModelsWithCache\Attributes\CacheTTL;
use UnionWorx\LaravelSerializesModelsWithCache\Attributes\CacheSkip;
use App\Models\Message;
class SendMessage
{
use Dispatchable, InteractsWithQueue, SerializesModelsWithCache;
#[CacheKey(key: 'custom_key_{id}')]
public Message $message;
public function handle()
{
// Your job logic
}
public function cachePrefix(): ?string
{
return get_class($this);
}
}
use UnionWorx\LaravelSerializesModelsWithCache\Attributes\CacheKey;
use UnionWorx\LaravelSerializesModelsWithCache\Attributes\CacheTTL;
use UnionWorx\LaravelSerializesModelsWithCache\Attributes\CacheSkip;
use App\Models\Message;
class SendMessage
{
use Dispatchable, InteractsWithQueue, SerializesModelsWithCache;
#[CacheKey(key: 'custom_key_{id}')]
public Message $message;
public function handle()
{
// Your job logic
}
public function cacheStoreName(): ?string
{
return 'file';
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.