제 생각에는 객체를 직렬화하고 세션을 통과 시키면 (예 : index.php 페이지에서 securePage.php로 넘어갈 때) SESSION은 해당 객체 데이터를 전달하기 때문에 객체의 기능을 사용할 수 없습니다. 유일한 방법은 전달한 데이터로 securePage.php에 새 객체를 만드는 것입니다. 실제 객체를 전달한 다음 securePage.php에 새로운 객체를 만들지 않고 함수를 사용하는 방법이 있습니까?세션을 통해 객체를 전달하고 해당 함수를 사용하는 방법이 있습니까?
예 : 세션에로드 된 개체를 얻을, 당신이 때 unserialize 호출하기 전에 어딘가에 클래스 정의를 포함 할 필요가의
$randomObj = new rndObject;
$_SESSION['object'] = serialize($randomObj);
및 securePage.php
$whatever = unserialize($_SESSION['object']);
//below code won't work and say something like
//Fatal error: Call to a member function checkAccess() on a non-object in
//securePage.php on line 39
echo $whatever->checkAccess();
당신은 단순히 세션 변수'$ _SESSION [에 개체를 할당 할 수 있습니다 'object'] = $ randomObj', 직접 직렬화 할 필요는 없습니다. 세션에서로드하는 경우에도 동일하게 작동합니다 (해당 클래스가 클래스에 알려져있는 경우). – martinstoeckli