对象序列化导致txt文件中出现无法读取的字符,从而导致_PHP_Incomplete_Class_Name

时间:2019-02-26 04:36:21

标签: php

请看看我这里不可读字符的意思

here

我有一些要序列化为文本文件的对象。我的对象属于Notification类。要序列化,我使用以下代码:

$serialized_data = serialize($notification) . "\n"; // $notification here is an instance of the class 'Notification'
file_put_contents( 'someText.txt', $serialized_data );

我的Notification类是这样的:

class Notification {
    private $date_time;
    private $notification_message;

    public function __construct( $notification_message = 'NOTIFICATION', $timezone = 'Europe/Oslo' ) {
        $this->notification_message = $notification_message;
        $this->date_time            = new DateTime( 'now', new DateTimeZone( $timezone ) ) ;
    }
}

我假设unreadable character是引起print_r( $objectInstance)的原因(此处,{{1}是从$objectInstance得到的)显示unserialize()。我该如何解决?

编辑

考虑之后,我认为可能是因为我的.txt文件编码所致。默认为ANSI,对吗?这会引起问题吗?

编辑2

经过进一步检查,似乎确实是我的代码有错误。我忘记了包含包含_PHP_Incomplete_Class_Name的类定义的文件。结案了。

0 个答案:

没有答案