bob*_*obo 6 php session serialization
我正在尝试保存一个对象$_SESSION,但以下内容:
<?php
$user = db->load( $username, $pass ) ;
$_SESSION[ 'user' ] = $user ;
# on subsequent page loads:
$user = $_SESSION[ 'user' ] ; #retrieve the user from session
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不起作用.
该脚本尝试执行方法或访问不完整对象的属性.请确保加载了_before_ unserialize()被调用的对象的类定义"User",或者提供__autoload()函数来加载类定义
除非你使用serialize():
<?php
$user = db->load( $username, $pass ) ;
$_SESSION[ 'user' ] = serialize( $user ) ;
# on subsequent page loads:
$user = unserialize( $_SESSION[ 'user' ] ) ; #retrieve the user from session
Run Code Online (Sandbox Code Playgroud)
我假设需要序列化,因为会话信息已保存到磁盘.但PHP不应该足够智能自行序列化东西吗?
并且使用serialize/_ unserialize _,这现在可靠吗?或者__serialize()我的PHP类中是否需要一个方法?
__serialize()如果您的对象需要在序列化之前执行某些操作,则您的类中将需要。例如,如果它引用了一个打开的文件,并且该文件需要在序列化之前正确关闭。
| 归档时间: |
|
| 查看次数: |
3811 次 |
| 最近记录: |