一个用Session传递对象的典型例子
作者:佚名 文章来源:网络转载 更新时间
:2007-1-27 0:00:09
首先,你的session要好使,PHP4.1以上的版本别忘了把php.ini中的register_globle=Off设成register_globle=On,还有就是session.cookie_path = /,注意这行不可以乱改,有的版本PHP改了这个设置session就不好使,这是PHP的一个BUG.
好了,我假设你的session已经没问题了,我对下面的例子作个说明:b.php和a.php各定义了一个类,其中a.php中的类a稍微复杂,因为它是由b.php中的类doc组成的,这叫类的组成关系.我举的例子大概是最简单的类组成关系的例子啦.
c.php中产生了一个类a的对象叫test,并把它注册成session变量,c.php还显示了一个超文本的表单界面,供你输入一个字串.点击按钮后,对象test被传递到d.php,在下面的程序中,我具体介绍了传递对象时要注意的事项.这个程序是可以实际运行的,它是我学习用session传递对象的一个小总结,大家可以回去试试看,祝大家愉快.
<?
//a.php
include("b.php");//包含b.php是因为doc类的定义在b.php中,而类a中的doc属性是doc类的对象
/**
* Short description.
* 一个带有组成关系的类
* Detail description
* @author
* @version 1.0
* @copyright
* @access public
*/
class a
{
/**
* Description 这是一个简单变量作为类a的属性
* @var
* @since 1.0
* @access private
*/
var $docid;
/**
* Description 这是一个对象变量作为类a的属性
* @var
* @since 1.0
* @access private
*/
var $doc;
/**
* Short description.
* 构造函数
* Detail description
* @param none
* @global none
* @since 1.0
* @access private
* @return void
* @update date time
*/
function a()//类a的构造函数,它给自己的doc属性赋了初值
{
$adoc=new doc;
$this->doc=$adoc;
} // end func
/**
* Short description.
* 给docid赋值
* Detail description
* @param none
* @global none
* @since 1.0
* @access private
* @return void
* @update date time
*/
function getdocid()//这个函数给自己的docid属性赋了值
{
$this->docid=$this->doc->id;
} // end func
/**
* Short description.
* 这个函数极简单,就不解释啦
* Detail description
* @param none
* @global none
* @since 1.0
* @access private
* @return void
* @update date time
*/
function printdocid()//显示doc对象属性的id属性
{
echo "doc->id=".$this->doc->id."<br>";
} // end func
} // end class
?>
<?
//b.php
/**
* Short description.
* 这是一个简单的类
* Detail description
* @author
* @version 1.0
* @copyright
* @access &nbs
【相关文章:】
用session做客户验证时的注意事项
用Session代替Apache服务器验证
PHP用Session传递对象的典型例子
如何应用Session开发非Web终端
用Session对Web页面进行保护
ASP中使用Session变量的优缺点
Asp.net中如何处理一个站点不同Web应用通用Session的问题
【发表评论】【打印此文】【关闭窗口】【点击数: 】
好了,我假设你的session已经没问题了,我对下面的例子作个说明:b.php和a.php各定义了一个类,其中a.php中的类a稍微复杂,因为它是由b.php中的类doc组成的,这叫类的组成关系.我举的例子大概是最简单的类组成关系的例子啦.
c.php中产生了一个类a的对象叫test,并把它注册成session变量,c.php还显示了一个超文本的表单界面,供你输入一个字串.点击按钮后,对象test被传递到d.php,在下面的程序中,我具体介绍了传递对象时要注意的事项.这个程序是可以实际运行的,它是我学习用session传递对象的一个小总结,大家可以回去试试看,祝大家愉快.
<?
//a.php
include("b.php");//包含b.php是因为doc类的定义在b.php中,而类a中的doc属性是doc类的对象
/**
* Short description.
* 一个带有组成关系的类
* Detail description
* @author
* @version 1.0
* @copyright
* @access public
*/
class a
{
/**
* Description 这是一个简单变量作为类a的属性
* @var
* @since 1.0
* @access private
*/
var $docid;
/**
* Description 这是一个对象变量作为类a的属性
* @var
* @since 1.0
* @access private
*/
var $doc;
/**
* Short description.
* 构造函数
* Detail description
* @param none
* @global none
* @since 1.0
* @access private
* @return void
* @update date time
*/
function a()//类a的构造函数,它给自己的doc属性赋了初值
{
$adoc=new doc;
$this->doc=$adoc;
} // end func
/**
* Short description.
* 给docid赋值
* Detail description
* @param none
* @global none
* @since 1.0
* @access private
* @return void
* @update date time
*/
function getdocid()//这个函数给自己的docid属性赋了值
{
$this->docid=$this->doc->id;
} // end func
/**
* Short description.
* 这个函数极简单,就不解释啦
* Detail description
* @param none
* @global none
* @since 1.0
* @access private
* @return void
* @update date time
*/
function printdocid()//显示doc对象属性的id属性
{
echo "doc->id=".$this->doc->id."<br>";
} // end func
} // end class
?>
<?
//b.php
/**
* Short description.
* 这是一个简单的类
* Detail description
* @author
* @version 1.0
* @copyright
* @access &nbs
【相关文章:】
用session做客户验证时的注意事项
用Session代替Apache服务器验证
PHP用Session传递对象的典型例子
如何应用Session开发非Web终端
用Session对Web页面进行保护
ASP中使用Session变量的优缺点
Asp.net中如何处理一个站点不同Web应用通用Session的问题
【发表评论】【打印此文】【关闭窗口】【点击数: 】
★好玩的休闲小游戏★
网友评论:
数据载入中,请稍后……
