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
우선
$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문 입니다.