| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- <?php
- namespace Illuminate\Support\Traits;
- trait Conditionable
- {
- /**
- * Apply the callback if the given "value" is truthy.
- *
- * @param mixed $value
- * @param callable $callback
- * @param callable|null $default
- * @return $this|mixed
- */
- public function when($value, $callback, $default = null)
- {
- if ($value) {
- return $callback($this, $value) ?: $this;
- } elseif ($default) {
- return $default($this, $value) ?: $this;
- }
- return $this;
- }
- /**
- * Apply the callback if the given "value" is falsy.
- *
- * @param mixed $value
- * @param callable $callback
- * @param callable|null $default
- * @return $this|mixed
- */
- public function unless($value, $callback, $default = null)
- {
- if (! $value) {
- return $callback($this, $value) ?: $this;
- } elseif ($default) {
- return $default($this, $value) ?: $this;
- }
- return $this;
- }
- }
|