sun's longitude:242 09 47.59 
· 자유게시판 · 묻고답하기 · 알파문서 · RPMS list
· 사용자문서 · 팁/FAQ모음 · 리눅스Links · 자료실
· 서버정보 · 운영자 · Books/FAQ · FreeBSD
/board/read.php:소스보기  
알파문서
자주 잊어먹거나, 메모해 둘 필요성이 있는 팁이나 문서, 기타 등등
[*** 쓰기 금지단어 패턴 ***]
글 본문 중간에 업로드할 이미지를 추가하는 방법 : @@이미지이름@@
ex) @@foo.gif@@
51 번 글: [PHP] 파일 리턴 (a script file return)
글쓴이: 산이 [홈페이지] 글쓴날: 2003년 07월 21일 18:31:43 월(저녁) 조회: 4143
안녕하세요?
거의 사용하지 않는(?) file return 에 관한 내용입니다.
거의 기초적인 문법 내용이라서 팁이될지는 모르겠네요..T.T

...

[PHP] 파일 리턴 (a script file return)

보통
return 구문은(함수가 아님) function(이하 '함수')의 '실행 끝' 을
의미합니다.
일반적으로 이렇게 많이 사용하고 있지요.

그러나 반드시 함수의 실행 종료만은 아닙니다.
위의 매뉴얼을 보시면 알겠지만 'eval() 이나 현재 실행파일의
종료' 에도
사용됩니다.

return :
1) 함수의 종료
2) eval() 의 종료
3) a file return (특정 파일의 실행 종료)

이와 같습니다.
두번째 eval() 은 제외하고 세번째에 관한 내용입니다.
아무래도 예를 들어서 설명하는것이 더 낫겠지요?

--- foo.php ------------------------------
<?php
require_once 'foo1.php';
require_once 'foo2.php';
require_once 'foo3.php';
...
?>
------------------------------------------
--- foo1.php ------------------------------
<?php
...
?>
------------------------------------------
--- foo2.php ------------------------------
<?php
...
if($bar)
{
...
...
} // end of this file
?>
------------------------------------------
--- foo3.php ------------------------------
<?php
...
?>
------------------------------------------

이와 같이 프로그램이 실행한다면(foo2.php
 에 주의),
foo2.php 는 다음과 같이  file return 을 사용할 수 있습니다.

--- foo2.php ------------------------------
<?php
...
if(!$bar) return;
...
...
// end of this file
?>
------------------------------------------

즉 file return 은 return 이 들어간 그 이하는 실행하지 않습니다.
이점에 주의해야 합니다.

file return 이 사용되는 경우 :
1) 파일 하나가 통째로 if() 문을 사용할 경우(파일끝 부분까지)
2) 하나의 파일에서 비교적 긴 if() 문이 사용될때(파일끝
 부분까지)
3) exit 없이 현재 파일의 어느 시점에서 건너뛰고 싶을 때
4) 기타 if() 외에 for(), while()... 등등에서 사용 가능

1)번 같이 파일하나가 통째로 if() 문이 들어가는 경우는
드물지만
이것은 상위의 부모파일(?)에서
 if() 문으로 검사하여 파일 open 을
건너뛰는 것이 성능상에 좋습니다.
(require, include 도 file open 이므로 성능과 관련됨)

예)
if($some) require_once 'some.php';
-- some.php ------------------------
<?php
if(!$some) return; // 다시한번 더 체크도 가능
...
?>
-------------------------------------

이해가 되었는지 모르겠네요.
이상입니다.

 
이전글 : [MYSQL] 우선순위, LOW_PRIORITY, DELAYED, ...
다음글 : [Apache] 무한 루프 프로세스 (to MaxClients)  
 from 61.254.75.40
JS(Redhands)Board 0.4 +@

|글쓰기| |답장쓰기| |수정| |삭제|
|이전글| |다음글| |목록보기|
인쇄용 

apache lighttpd linuxchannel.net 
Copyright 1997-2024. linuxchannel.net. All rights reserved.

Page loading: 0.01(server) + (network) + (browser) seconds