Cached some model properties and remove useless eager loading (#253)
* Cached some model properties and remove useless eager loading * Remove ray call * Remove double loading of forms * Add disableCache feature when needed
This commit is contained in:
45
app/Models/Traits/CachableAttributes.php
Normal file
45
app/Models/Traits/CachableAttributes.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Traits;
|
||||
|
||||
use Closure;
|
||||
|
||||
interface CachableAttributes
|
||||
{
|
||||
/**
|
||||
* Get an item from the cache, or execute the given Closure and store the result.
|
||||
*
|
||||
* @param string $key
|
||||
* @param int|null $ttl
|
||||
* @param Closure $callback
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function remember(string $key, ?int $ttl, Closure $callback);
|
||||
|
||||
/**
|
||||
* Get an item from the cache, or execute the given Closure and store the result forever.
|
||||
*
|
||||
* @param string $key
|
||||
* @param \Closure $callback
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function rememberForever(string $key, Closure $callback);
|
||||
|
||||
/**
|
||||
* Remove an item from the cache.
|
||||
*
|
||||
* @param string $key
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function forget(string $key): bool;
|
||||
|
||||
/**
|
||||
* Remove all items from the cache.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function flush(): bool;
|
||||
}
|
||||
Reference in New Issue
Block a user