123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- <?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);
- }
- }
|