0
나는 내 문제에 대한 기존 답변을 검토했습니다. 나는이 때까지 바로 바로 과정을 통해 값을 echo'd과 한클래스가 보호 된 값을 보유하지 않음
"헤더 ('위치"명령 값이 그대로 유지됩니다. 비슷한에 대한 제안
이나는 그것이 직렬화 문제를 생각하지 않습니다
class clsSetUser {
protected $UserID = 0;
public function initUser($id) {
// get user details from database
$this->setUserID($id);
// etc...
}
private function setUserID($value) { $this->UserID = $value; }
public function getUserID() { return $this->UserID; }
}
common.php :
if(unset($clsUser)) $clsUser = new clsSetUser;
문제는 ... 여기
클래스의 관련 비트입니다
로그인-exec.php :
$clsUser->initUser($id);
header("Location: somewhere.php");
somewhere.php :
echo $clsUser->getUserID();
// here it equals 0
어떤 아이디어? "헤더"가 모든 것을 직렬화합니까?
생각 나는 - 나는 너무 많은 $ _SESSION을 사용하지 않도록 기대했다. 새로운 페이지를 열 때마다 데이터베이스에 계속해서 도달하는 것은 비논리적입니다. 정보 주셔서 감사합니다. –
왜 사용자 개체에 대해 데이터베이스에 충돌하지 않도록 하시겠습니까? 사용자/세션 테이블의 색인이 제대로 생성되면 사용자 개체를 가져 오는 데 시간이 전혀 걸리지 않습니다. 그렇지 않으면 필요한 사용자 정보를 쿠키에 저장하려고 시도 할 수 있지만 각 요청에 따라 해당 데이터가 서버로 전송됩니다. 그러면 페이지로드 시간이 늘어날 수 있습니다. – EWit
사용자 개체뿐만 아니라 데이터베이스 개체 및 ini 파일에서 변경되지 않고 다양한 값을 갖습니다. 모두 처리 시간이 추가되었으므로 한 번만 수행해야합니다. 나는 수백 페이지의 매우 큰 어플리케이션을 가지고있다. 나는 완전한 OO 시스템을 구축하기를 원했지만 PHP에서는 분명하지 않다. 헤더 명령어가 발행 될 때마다 클래스가 파괴되면 나는 이것을 할 수 없다. –