我正在开发一个Web应用程序 到目前为止,后端是JBoss 6.1 Application Server(Java EE)。
现在,使用相同的前端,PHP中应该有另一个后端 由于我喜欢Java后端的结构,我为php后端设计了一个类似的结构。
对PHP后端的每个请求转到一个条目,它是“facade.php”,它是我的前面 控制器。
前端控制器(facade.php)处理JSON输入和其他东西,然后有一个大的switch语句。每个任务(登录,获取事件对象,......)都会转移到另一个进程类。
“facade.php”的片段:
switch ($procClass) {
case "lgi":
require_once("classes/Login.php");
$login = new Login();
$resultMap = $login->process($internalObj, $sessionObj);
break;
case "cst":
require_once("classes/Cases.php");
$cases = new Cases();
$resultMap = $cases->process($internalObj, $sessionObj);
break;
.
.
.
}
在JBoss Java EE环境中,当我在无状态会话Bean中并且我在本地进行操作时 查看另一个无状态会话Bean(不同的类),对象被移交 参考其他类的方法参考。
现在我知道,在PHP中,当您在同一个类中并且将一个对象传递给同一个类的另一个方法时,该对象将按引用传递(或者更准确地说,引用按值传递)。 / p>
但是,如上例所示,如果我将来自facade.php的“sessionObj”对象传递给另一个类(case)的实例,这个实例位于另一个文件中,似乎无法按每个对象传递参考
我的假设是否正确?
在这种情况下是否存在另一种传递每个引用的方法(当单独文件中的类时,从对象到对象)?
答案 0 :(得分:1)
案例类的处理方法的定义应该是
function process($internalObj, &$sessionObj) {
[...]
}
“&”在参数前面标记为passed by reference