Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将类对象转换为字符串_Php - Fatal编程技术网

Php 如何将类对象转换为字符串

Php 如何将类对象转换为字符串,php,Php,我有这段代码,但当我运行它时,它说对象不能转换为字符串 $db = Database::getDB(); $query = "SELECT * FROM products WHERE productID = '$product_id'"; $result = $db->query($query); $row = $result->fetch(); $category = CategoryDB::getCategory($row['categor

我有这段代码,但当我运行它时,它说对象不能转换为字符串

    $db = Database::getDB();
    $query = "SELECT * FROM products WHERE productID = '$product_id'";
    $result = $db->query($query);
    $row = $result->fetch();
    $category = CategoryDB::getCategory($row['categoryID']);
    $fileName = new Product($category, $row['productCode']);


    $dir = "../images/";
    unlink($dir.DIRECTORY_SEPARATOR.$fileName);

你可以用神奇的方法

每当您将对象视为字符串(例如打印)时,此方法都会处理它。结果字符串将是此方法返回的任何内容

也就是说,将产品对象转换为文件名字符串在逻辑上似乎不合理。也许您更喜欢getFilename方法。

您正在编写:

$fileName = new Product($category, $row['productCode']);
然后你会做:

unlink($dir.DIRECTORY_SEPARATOR.$fileName);
如您所见,您正在尝试将对象$filename用作字符串。 这是不可能做到的,或者至少这不是一个好的魔术练习。您需要检查对象产品中是否有允许 您需要提取文件名

例如:

unlink($dir.DIRECTORY_SEPARATOR.$fileName);
unlink($dir.DIRECTORY_SEPARATOR.$fileName->getFileName());