Тип подсказки PHP при вызове функции - PullRequest
1 голос
/ 05 марта 2020

Можно ли ввести подсказку для параметра непосредственно в строке во время вызова функции?

public function load(ObjectManager $manager)
{
    $product = $this->createProduct(
        "T-SHIRT",
        $this->getReference('brand-4') /** @var Brand <=== NOT WORKING */ 
    );
    $manager->persist($product);
    $this->addReference('product-1', $product);
}

/**
 * @param string $name
 * @param Brand  $brand
 */
private function createProduct($name, $brand)
{
    $product = new Product();
    $product
        ->setName($name)
        ->setBrand($brand) // <== this setter needs a Brand entity
    ;

    // [...]
}

Конечно, phpstan выдает мне ошибку, потому что getReference возвращает объект и Функция ожидает объект Брэнда:

Parameter #2 $brand of method AppBundle\DataFixtures\ORM\ProductFixtures::createProduct() expects AppBundle\Entity\Brand, object given.

Я бы НЕ хотел бы для простоты объявить переменную следующим образом:

/** @var Brand */
$brand = $this->getReference('brand-4');
$product = $this->createProduct(
    "T-SHIRT",
    $brand
);

Это сэкономило бы мне много времени !

...