Re: Strange PHP5 message
| From: | Jason Barnett | Date: | Wed, 16 Mar 2005 16:30:52 +0000 |
| Subject: | Re: Strange PHP5 message | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-210903@lists.php.net to get a copy of this message | ||
Andrei Verovski wrote:
...
> Notice: serialize() [function.serialize]: __sleep should return an array
> only containing the names of instance-variables to serialize. in
> ANVphpApp.php on line 840
>
>
> Anyone knows what is the problem?
Exactly what the notice says ;) basically __sleep is used so that you
can prevent certain properties (file pointers, db connections, objects,
etc.) from being serialized.
<?php
session_start();
error_reporting(E_ALL);
class Dummy {
public $s1 = 'I am a test string';
protected $s2 = 'I am the protected string';
private $_s3 = 'I am the private string';
var $a1 = array('testing', 1, 2, 3);
static $i1 = 0;
function __sleep() {
$i = self::$i1++;
echo "Oops, I forgot everything! $i\n";
return array();
}
}
class hasMemory extends Dummy {
private $_fp = NULL;
function __construct() {
$this->_fp = fopen('/path/to/some/file', 'r');
}
function __sleep() {
$props_to_save = array('s1', 's2', 'a1');
echo "I know about the following properties:\n";
print_r($props_to_save);
return $props_to_save;
}
}
$_SESSION['obj1'] = new Dummy();
$_SESSION['obj2'] = new hasMemory();
$_SESSION['string'] = '123abcdefg!';
$_SESSION['integer'] = 1;
$_SESSION['float'] = .1234;
$_SESSION['double'] = .1234567890123456;
$_SESSION['bool'] = TRUE;
foreach ($_SESSION as $key => $value) {
echo "$key: ";
var_dump(serialize($value));
}
?>
--
Teach a man to fish...
NEW? | http://www.catb.org/~esr/faqs/smart-questions.html
STFA | http://marc.theaimsgroup.com/?l=php-general&w=2
STFM | http://php.net/manual/en/index.php
STFW | http://www.google.com/search?q=php
LAZY |
http://mycroft.mozdev.org/download.html?name=PHP&submitform=Find+search+plugins
Attachment: [application/pgp-signature] OpenPGP digital signature signature.asc
Attachment: [application/pgp-signature] OpenPGP digital signature signature.asc