如何将对象从一个php文件传输到另一个php文件

时间:2010-07-13 08:22:10

标签: php oop

我有一个查询,如何将对象从php文件 A 传输到php文件 B ? 但我知道使用session的解决方案。但我需要知道的是,他们的任何其他方法是在会话之外的php文件之间传输对象吗?

7 个答案:

答案 0 :(得分:1)

保存在文件中,保存在数据库中,保存在共享内存中,保存在缓存服务器中。

答案 1 :(得分:1)

一种方法是将序列化对象 - 或其数据 - 存储到数据库中,使用会话ID作为再次“找到”它的键。

使用缓存文件也可以这样做。

更快的方法是使用像memcache这样的共享内存缓存。这些解决方案始终需要服务器端管理和root访问权限才能设置。

答案 2 :(得分:1)

APC可能是最简单的方法:

示例:

// new object
$object = new ClassName('Kieran', 123);

// Store it
apc_store('object', $object); 

另一个脚本

$obj = apc_fetch('object');
print_r($obj->method());

答案 3 :(得分:1)

你可以使用这个方法: 序列化()取消序列化()

fileA.php:

<?php
require_once 'employee.class.php';
$employee=new employee($id,$firstname,$lastname);
$serializeemployee=serialize($employee);
session_start();
$_SESSION['employee']=$serializeemployee;
header('location: ./fileB.php');
?>

fileB.php:

<?php
session_start();
if(isset($_SESSION['employee']) && $_SESSION['employee'])
{
require_once 'employee.class.php';
$employee=unserialize($_SESSION['employee']);
echo $employee->getFirstname();
?>

答案 4 :(得分:0)

序列化对象并存储在以下之一(Database,Temp,Memcache)。

根据对象的组成,我会看一下实现__sleep__wake魔术方法,以确保能够正确传输对象。

答案 5 :(得分:0)

使用cURL你可以转移任何东西......试试这个......

http://php.net/manual/en/book.curl.php

答案 6 :(得分:0)

最简单的方法(除了使用会话)可能是将其保存为APC(备用PHP缓存)用户变量,因为您可能已经安装了APC用于操作码缓存目的。这样你就有了两个扩展名。

APC将值存储在内存中,就像Memcached一样,但是更容易安装,因为它不是一个额外的守护进程,而是一个PHP扩展。