131 lines
2.5 KiB
PHP
131 lines
2.5 KiB
PHP
<?php
|
|
|
|
namespace Illuminate\Http\Resources;
|
|
|
|
use Exception;
|
|
|
|
trait DelegatesToResource
|
|
{
|
|
/**
|
|
* Get the value of the resource's route key.
|
|
*
|
|
* @return mixed
|
|
*/
|
|
public function getRouteKey()
|
|
{
|
|
return $this->resource->getRouteKey();
|
|
}
|
|
|
|
/**
|
|
* Get the route key for the resource.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getRouteKeyName()
|
|
{
|
|
return $this->resource->getRouteKeyName();
|
|
}
|
|
|
|
/**
|
|
* Retrieve the model for a bound value.
|
|
*
|
|
* @param mixed $value
|
|
* @return void
|
|
* @throws \Exception
|
|
*/
|
|
public function resolveRouteBinding($value)
|
|
{
|
|
throw new Exception('Resources may not be implicitly resolved from route bindings.');
|
|
}
|
|
|
|
/**
|
|
* Determine if the given attribute exists.
|
|
*
|
|
* @param mixed $offset
|
|
* @return bool
|
|
*/
|
|
public function offsetExists($offset)
|
|
{
|
|
return array_key_exists($offset, $this->resource);
|
|
}
|
|
|
|
/**
|
|
* Get the value for a given offset.
|
|
*
|
|
* @param mixed $offset
|
|
* @return mixed
|
|
*/
|
|
public function offsetGet($offset)
|
|
{
|
|
return $this->resource[$offset];
|
|
}
|
|
|
|
/**
|
|
* Set the value for a given offset.
|
|
*
|
|
* @param mixed $offset
|
|
* @param mixed $value
|
|
* @return void
|
|
*/
|
|
public function offsetSet($offset, $value)
|
|
{
|
|
$this->resource[$offset] = $value;
|
|
}
|
|
|
|
/**
|
|
* Unset the value for a given offset.
|
|
*
|
|
* @param mixed $offset
|
|
* @return void
|
|
*/
|
|
public function offsetUnset($offset)
|
|
{
|
|
unset($this->resource[$offset]);
|
|
}
|
|
|
|
/**
|
|
* Determine if an attribute exists on the resource.
|
|
*
|
|
* @param string $key
|
|
* @return bool
|
|
*/
|
|
public function __isset($key)
|
|
{
|
|
return isset($this->resource->{$key});
|
|
}
|
|
|
|
/**
|
|
* Unset an attribute on the resource.
|
|
*
|
|
* @param string $key
|
|
* @return void
|
|
*/
|
|
public function __unset($key)
|
|
{
|
|
unset($this->resource->{$key});
|
|
}
|
|
|
|
/**
|
|
* Dynamically get properties from the underlying resource.
|
|
*
|
|
* @param string $key
|
|
* @return mixed
|
|
*/
|
|
public function __get($key)
|
|
{
|
|
return $this->resource->{$key};
|
|
}
|
|
|
|
/**
|
|
* Dynamically pass method calls to the underlying resource.
|
|
*
|
|
* @param string $method
|
|
* @param array $parameters
|
|
* @return mixed
|
|
*/
|
|
public function __call($method, $parameters)
|
|
{
|
|
return $this->resource->{$method}(...$parameters);
|
|
}
|
|
}
|