19declare(strict_types=1);
30 protected ?Closure $available_callable =
null;
37 $clone = clone($this);
38 $clone->visiblility_callable = $is_visible;
39 $clone->is_visible_static =
null;
46 if (isset($this->is_visible_static)) {
50 return $this->is_visible_static =
false;
52 if (is_callable($this->visiblility_callable)) {
55 $value = (bool) $callable();
57 return $this->is_visible_static = $value;
60 return $this->is_visible_static =
true;
65 $clone = clone($this);
66 $clone->available_callable = $is_available;
76 if (is_callable($this->available_callable)) {
77 $callable = $this->available_callable;
79 return (
bool) $callable();
withAvailableCallable(callable $is_available)
Closure $visiblility_callable
trait VisibilityAvailabilityTrait
withVisibilityCallable(callable $is_visible)