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

common.php 파일 공부 중인데... 채택완료

sinbi 7년 전 조회 3,378

$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개

채택된 답변
+20 포인트
플래토
7년 전

우선

 

$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개

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

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

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

로그인