테스트 사이트 - 개발 중인 베타 버전입니다

common.lib에 함수에서 link=null 채택완료

음바폐 7년 전 조회 2,209

안녕하세요,

요즘 그누보드 소스에 대해서 공부를 좀 하고 있습니다.

답변 다시는 분들께 감사하다는 말을 전하고 싶습니다. 

 

function sql_set_charset($charset, $link=null) {     global $g5;

    if(!$link)         $link = $g5['connect_db'];

    if(function_exists('mysqli_set_charset') && G5_MYSQLI_USE)         mysqli_set_charset($link, $charset);     else         mysql_query(" set names {$charset} ", $link);

 

1). 여기에서 매개변수 $link는 =null 이렇게 되어있는데, 이것은 무엇을 뜻하나요?

변수값을 초기화한다는 $link=" " 와 같은 표현인가요?

$link 값이 $g5['connect_db'] 아닐 수도 있는 가능성을 고려해서 그러는것인가요? 

 

2). 그것이 맞다면요, 그누보드 사용자가 $link값이 $g5['connect_db'] 값이 아닌 다른 값이 설정되어 있을수도 있나요?

 

 

감사합니다

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

답변 1개

채택된 답변
+20 포인트
Policia
7년 전

$link변수의 기본값을 설정해주는것입니다 해당 함수를 실행할때 $link값을 넘겨받지못하거나 $link를 쓸필요가없을경우 기본값을주어 함수실행시 불필요한 동작을 거르거나 할 수있죠

 

$link값이 $g5['connect_db']가 아닐 수 있는 가능성 이라고 하기보다는 $link값을 넘겨받지 못했을때나 쓸필요가 없는 경우에 불필요한 데이터를 받지않고 또 실행하지 않기 위해 저렇게 기본값을 설정한다고 생각하시면 될듯합니다.

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

답변에 대한 댓글 4개

P
Policia
7년 전
아 참 그리고 초기화랑은 다른개념입니다
$link에 값이 없을때 기본값을 주어 해당 함수를 $link값이없어도 실행되게끔 할 수 있도록 하기 위해 기본값을 설정하는 겁니다
음바폐
7년 전
그래서 기본값 설정이 null인가요?
예를 들어
sql_set_charset('utf8', $connect_db); 에선 $connect_db가 $link지만,
sql_set_charset('utf8',); 인 경우에는 $link=null (즉 비어있다),

이런 해석인가요??
P
Policia
7년 전
네 맞습니당

function latest를 보시면 이해가 쉬우실것같습니다

매개변수에 기본값을 정의하는이유가 오류를 방지하기 위함도있지만 latest처럼 미리 기본값을 넣어

echo latest('basic','table'); 이렇게만 하여도 출력할 수 있고

또 나중에 사용자가 echo latest('basic', 'table', 5, 20)등 이렇게 원하는 출력방식을 조정하기도 하고

함수를 다양하게 활용하기 위함도 있습니다.

부족한 설명이 도움이 되셨을까 싶네요 이제보니 횡설수설이 많네요 글재주가없어.. 죄송합니당
음바폐
7년 전
아닙니다. 도움이 많이 돼고 있는데요 뭘.
답변 감사합니다

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

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

로그인