$member 변수는 사용시마다 계속 불러오는 건가요?

안녕하세요

안읽은 쪽지 확인하는 스크립트를 보고 있는데

기존에 있는 변수는 값이 안넘어 오더라구요

그래서 $memeber['mb_memo_cnt'] 로 읽지 않은 쪽지 수를 받아오게 변경했는데

$member[]라는게 로그인 시 요청 후 사용자 컴퓨터 내에 변수로 저장된 내용을 불러오는 건가요? 아니면

로그인시에도 요청하고 스크립트를 불러오다가 $member['$mb_scrap_cnt']와 같은 설정된 변수를 요청하면

다시 sql에 요청하고 하는 식으로 매번 사용할때마다 sql에 요청하는 식인가요?

답변 3개

'매 사용시마다'는 아닙니다.

'매 페이지 로딩시' 1회 입니다. (common.php)

common.php 에서 로그인 회원 db 정보를 $member 변수에 저장합니다.

그 이후로는 $member 변수를 100번 사용할 수도 있고.. 0번 사용하는 경우도 있습니다.

=> 회원정보 저장을 위한 회원 db 호출은 1회

db 호출을 통한 $member 변수로의 저장은 매 페이지 1회입니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

$member 변수는 common.php 에서 할당되는 변수로

common.php 를 include 하는 페이지에서는 새로고침등 페이지 이동이 발생하는 경우

로그인 상태에서는 매번 mb_id 당 SQL 요청이 최초 1회 발생합니다.

로그인 안되어 있는 경우 임시 배열 생성

https://github.com/gnuboard/gnuboard5/blob/master/common.php#L137

로그인 되어 있는 경우 SQL 요청 이후 얻어진 값에의한 배열 생성

https://github.com/gnuboard/gnuboard5/blob/master/common.php#L532

이후 bracket 연산자 [${key}] 로 표현되는 부분은

단순히 할당된 배열의 키 ${key} 값을 접근 하는 동작을 수행합니다.

https://www.php.net/manual/en/language.types.array.php#language.types.array.syntax.modifying

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

$member라는 변수를 common.php 파일에서 로그인시 해당 id로 회원정보의 테이블에서 불러오는 부분입니다.
common.php 파일이 항상 include 되어야 하기때문에 위 부분을 참고하셔서 적용하시면 되는 부분입니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

로그인이나 새로고침 등으로 미리 저장해 놓은 변수인거 같네요
매번 사용할때마다 SQL에 따로 요청해서 서버에 부담이 될까 걱정했었거든요

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고