Type Hinweis in PHP 7 - Array von Objekten

Vielleicht habe ich etwas verpasst, aber gibt es eine Option, um zu definieren, ob diese Funktion ein Argument haben oder beispielsweise ein Array von Benutzerobjekten zurückgeben soll?

Betrachten Sie den folgenden Code:

<?php

class User
{
    protected $name;

    protected $age;

    /**
     * User constructor.
     *
     * @param $name
     */
    public function __construct(string $name, int $age)
    {
        $this->name = $name;
        $this->age = $age;
    }

    /**
     * @return mixed
     */
    public function getName() : string
    {
        return $this->name;
    }

    public function getAge() : int
    {
        return $this->age;
    }
}

function findUserByAge(int $age, array $users) : array
{
    $result = [];
    foreach ($users as $user) {
        if ($user->getAge() == $age) {
            if ($user->getName() == 'John') {
                // complicated code here
                $result[] = $user->getName(); // bug
            } else {
                $result[] = $user;
            }
        }
    }

    return $result;
}

$users = [
    new User('John', 15),
    new User('Daniel', 25),
    new User('Michael', 15),
];

$matches = findUserByAge(15, $users);

foreach ($matches as $user) {
    echo $user->getName() . ' '.$user->getAge() . "\n";
}

Ist in PHP7 eine Option verfügbar, um die Funktion @ mitzuteilefindUserByAge sollte Array von Benutzern zurückgeben? Ich würde erwarten, dass es möglich sein sollte, wenn Typhinweise hinzugefügt wurden, aber ich habe keine Informationen für Typhinweise für ein Array von Objekten gefunden, daher ist es wahrscheinlich nicht in PHP 7 enthalten. Wenn es nicht enthalten ist, haben Sie eine Ahnung, warum nicht enthalten, wenn Typhinweise hinzugefügt wurden?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage