Spatie\Menu\Helpers\Reflection::firstParameterType PHP Метод

firstParameterType() публичный статический Метод

public static firstParameterType ( callable $callable ) : string
$callable callable
Результат string
    public static function firstParameterType(callable $callable) : string
    {
        $reflection = new ReflectionFunction($callable);
        $parameterTypes = array_map(function (ReflectionParameter $parameter) {
            return $parameter->getClass() ? $parameter->getClass()->name : null;
        }, $reflection->getParameters());
        return $parameterTypes[0] ?? '';
    }

Usage Example

Пример #1
0
 /**
  * @param callable $callable
  *
  * @return $this
  */
 public function setActiveFromCallable(callable $callable)
 {
     $this->applyToAll(function (Menu $menu) use($callable) {
         $menu->setActiveFromCallable($callable);
     });
     $type = Reflection::firstParameterType($callable);
     $this->applyToAll(function (Activatable $item) use($callable, $type) {
         if (!Reflection::itemMatchesType($item, $type)) {
             return;
         }
         if ($callable($item)) {
             $item->setActive();
         }
     });
     return $this;
 }