【发布时间】:2014-02-25 15:33:19
【问题描述】:
我必须在文件中记录以下对象数组,然后读取它。 我的变量是 $myObject。 var_dump($myObject) 给出以下数组:
array(1) {
[0]=>
object(MyClassA)#179 (2) {
["_flag":protected]=>
bool(false)
["_myClassB":protected]=>
array(1) {
[0]=>
object(MyClassB)#187 (5) {
["_flag":protected]=>
bool(false)
}
}
}
MyClassA 和 MyClassB 是另外两个类。
我怎样才能记录和检索它。检索后,我想在检索后使用 MyClassA 的方法,例如 MyClassA->getFlag。
我正在使用以下方法记录它:
$fp = fopen("myfilepath", 'a');
fputcsv($fp, serialize( $myObject));
fclose($fp);
但它以不可读的格式登录。
谢谢
解决方案:
我认为序列化以可读格式创建内容。但我很破旧。当我对数据进行反序列化时,我能够获取数据。 :)
【问题讨论】:
-
我知道在 Java、C# 中......你有一种叫做“序列化”的东西来存储对象并检索它们。我不了解 PHP,但我想这可能是一个很好的起点?
-
我试过序列化。但它不能序列化对象内部的对象。存储的日志文件不可读。
-
那么应该以可读的格式保存吗?还是只能通过代码读取?编辑:给每个类(如果它以这种方式工作)一个“可序列化”参数怎么样?
-
你为什么使用'fputcsv'?尝试 fputs() 或 file_put_contents()
-
让我尝试反序列化它。我想当我们通过序列化记录它时,日志文件应该具有可读格式的内容。
标签: php logging serialization json