채택완료

common.php 파일 공부 중인데...

$extend_file = array();
$tmp =
dir(G5_EXTEND_PATH);
while (
$entry = $tmp->read()) {
    // php 파일만 include 함
    if (preg_match("/(\.php)$/i", $entry))
        $extend_file
[] = $entry;
}

if(!empty($extend_file) && is_array($extend_file)) {
   
natsort($extend_file);

    foreach($extend_file as $file) {
        include_once(G5_EXTEND_PATH.'/'.$file);
    }
}
unset($extend_file);

위 밑줄 친 코드 의미 좀 해석 부탁드려요.

앞에 2개가 선행묶음인지, 아니면 뒤 2개가 한 선행묶음인지?

|

답변 1개 / 댓글 3개

채택된 답변
+20 포인트

우선

$tmp->read()

이것은

$tmp로 생성된 객체의 인스턴스변수에

read()라는 메소드를 실행하는게 우선이고, 

그 결과 값을

$entry 에 담으라는 것입니다.

while( 참) {

  // 참일때만 실행

}

php 에서 조건문에 참이 되는경우는

true

1이상의 숫자

문자

객체

거짓이 되는경우

false

0

공백

null

이라고 보시면 됩니다.

다시 정리하면

while ($entry = $tmp->read()) {

}

이것은

우리가 흔히 사용하는

while ($row = sql_fetch($result)) {

}

와 거의 유사한 내용이라고 보시면됩니다

위의 문장을 좀더 접근해서 해석하면

dir()이라는 함수는 

디렉토리의 하위경로를 객체로 접근하도록 결과를 전달하는 역할을 합니다.

http://php.net/manual/kr/function.dir.php

G5_EXTEND_PATH

는 config.php 에 define 되어있습니다.

extend 디렉토리 하위의 결과를 읽어서 필요한 내용을 찾는 역할을 하는 문장입니다.

조금 중요한 문장이죠

그누보드에서 확장파일을 만들어서 

extend디렉토리에 넣어두면 알아서 인클루드되는 역할을 하는 

while문 입니다.

답변에 대한 댓글 3개

100% 이해는 못 했지만, 완전 폭풍 감동 답변입니다.
& ( ^ ___________ ^ ) & ==============b
@sinbi 감동해주시니.. 감사합니다. ^^
열공하시는 열정이 아주 좋습니다!! 화이팅
@플래토 응원 감사합니다. ^^ 주말 잘 보내세요 ~~~~~~

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