我正在开发一个与收银机通信的项目。该机器有自己的DLL,写在DOTNET上。我正在PHP上创建项目。那些DOTNET DLL有一些通信方法。我在PHP上调用它们。首先,我创建了该类的对象;
$abc = new DOTNET("FirstDotNet, Version=1.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxx", "FirstDotNet.Class1");
然后我在同一页面中调用方法;
$abc->ConnectToMachine();
$abc->SignInCashier();
$abc->SendPrintItem();
如果我在同一页面中调用它们,则没有问题,它会打印出来。但是,如果我在另一个页面上调用last方法,则会出错,因此不会打印。
我不想在每个页面中反复调用前两个方法,因为这些方法需要30秒。每次我想打印都需要很长时间。
如何将我在第一页中创建的对象传递到另一个页面,以便在其他页面上继续使用相同的对象方法。
答案 0 :(得分:0)
两个页面都需要开始一个会话;第1页将创建对象&将它存储在会话中;第2页将开始会议&检索对象。注意我之前从未使用过DotNet的东西,所以我不知道DotNet对象是否可以存储在会话中,但我找不到任何说明不能的东西。
第1页:
<?php
session_start();
$obj = new DOTNET("FirstDotNet, Version=1.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxxx", "FirstDotNet.Class1");
$_SESSION['object'] = $obj;
?>
第2页:
<?php
session_start();
echo $_SESSION['object']->PrintItem();
?>