将PHP对象转换为字符串

将PHP对象转换为字符串,php,object,Php,Object,我有这个密码: <?php $imageVar = $entry->field('logo')->generate(); $path = $imageVar; $file = basename($path, ".svg"); $rest = substr($file, 0, -9); ?> <img src="<?php echo $imageVar; ?>" onerror="this.onerror=null; this.s

我有这个密码:

<?php
   $imageVar = $entry->field('logo')->generate();
   $path = $imageVar;
   $file = basename($path, ".svg");
   $rest = substr($file, 0, -9);
?>

<img src="<?php echo $imageVar; ?>" onerror="this.onerror=null; this.src='files/media/images/partners/<?php echo $rest; ?>.png'" title="<?php echo $entry->field('name')->value(); ?>" alt="<?php echo $entry->field('name')->value(); ?>" >

但我不知道如何解决这个问题。

首先,你应该了解对象和字符串之间的区别

$imageVar = $entry->field('logo')->generate();
            $path = $imageVar;
这里$imageVar变成了对象而不是字符串,所以您需要更改第一个bez 函数$file=basename($path,.svg”);是否要求字符串不是对象

如果您在php中执行此操作,那么在$imageVar之前使用(字符串),现在您的代码将

 $imageVar = $entry->field('logo')->generate();
                $path = (string)$imageVar;

试试看,首先你应该了解对象和字符串之间的区别

$imageVar = $entry->field('logo')->generate();
            $path = $imageVar;
这里$imageVar变成了对象而不是字符串,所以您需要更改第一个bez 函数$file=basename($path,.svg”);是否要求字符串不是对象

如果您在php中执行此操作,那么在$imageVar之前使用(字符串),现在您的代码将

 $imageVar = $entry->field('logo')->generate();
                $path = (string)$imageVar;

试试看,
$path

的输出是什么?$imageVar是一个对象,您可以使用
打印($imageVar)并向我们显示结果?$patch的输出是:“assets/images/d/1900-cd29b6dd.png”和$imageVar得到了相同的输出。您应该按照@mathieulscaudron的建议进行操作。您可能需要访问一些对象属性,如path,但使用此代码我们无法帮助您,
$path
的输出是什么?$imageVar是一个对象,您可以使用
print\r($imageVar)并向我们显示结果?$patch的输出是:“assets/images/d/1900-cd29b6dd.png”和$imageVar得到了相同的输出。您应该按照@mathieulscaudron的建议进行操作。您可能需要访问一些对象属性,如path,但使用此代码我们无法帮助您,这适用于90%:)但不适用于此:$imageVar=\FilesModel::findByUuid($result->logo)$path=(字符串)$imageVar;错误表示PHP可恢复错误:第57行的/wwwroot.wwwnew/templates/customcatalog\u partnerpool\u leser\u 1\u 1.html5中的Contao\FilesModel类对象无法转换为字符串$imageVar=\FilesModel::findByUuid($result->logo);你上面的代码中没有提到这一点是的,我只是看到了,我认为它是一样的。不,这不一样,请给我完整的代码测试,它适用于90%:)但不适用于这个:$imageVar=\FilesModel::findByUuid($result->logo)$path=(字符串)$imageVar;错误表示PHP可恢复错误:第57行的/wwwroot.wwwnew/templates/customcatalog\u partnerpool\u leser\u 1\u 1.html5中的Contao\FilesModel类对象无法转换为字符串$imageVar=\FilesModel::findByUuid($result->logo);你上面的代码中没有提到这一点是的,我现在才看到,我认为是一样的。不,这不一样,给我完整的代码试试