PHP 类函数的类型转换

吉吉金城

我正在使用 Symfony 和 Doctrine,我需要比较来自 JSON 的对象是否与数据库中的对象具有相同的属性。

所以我已经正确地完成了所有事情,但是由于我是 PHP 的新手,我无法访问我的对象的属性,因为我不知道如何将上一行转换为 Product。

$oldProduct = new Product();
$oldProduct = $repo->findBy( array('nom' => $product->getNom()));
$oldProduct->

我尝试添加

$oldProduct = Product::$repo->findBy( array('nom' => $product->getNom()));

但这不起作用

我确定它已经得到了回答,但我找不到关键字来解决类似的问题。

提前致谢

线圈

您可以通过添加强制类型转换:

$oldProduct = $repo->findBy(array('nom' => $product->getNom()));
/* @var Product $oldProduct */
$oldProduct->myAutoCompletedFunction...

或者:

$oldProduct = $repo->findBy(array('nom' => $product->getNom()));
if (!$oldProduct instanceof Product) {
    throw new \LogicException('Old product not found.');
}
$oldProduct->myAutoCompletedFunction...

第二个版本更好,因为它不会对静态分析器发出警告。

PS:请注意,您可以将包含@var注释的块放在第一行的末尾,而不是为它添加一行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章