我正在使用 Symfony 和 Doctrine,我需要比较 JSON 中的对象是否与数据库中的对象具有相同的属性。
所以我已经正确地完成了所有操作,但由于我是 PHP 新手,我无法访问对象的属性,因为我不知道如何将前一行转换为产品。
$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
注释的 block 放在第一行的末尾,而不用单独一行。
关于php - PHP 中类函数的类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44026615/