2013-08-06 2 views
0

이전에 실행 된 다른 PHP 파일에 의해 이미 포함되기 전에 PHP 파일에 필요한 포함을 작성해야합니까?파일 연습을 포함한 PHP

예를 들어, parent.php, child.php 및 food.php와 같은 3 개의 PHP 파일이 있다고 가정 해 보겠습니다.

parent.php 및 child.php에는 food.php에있는 기능이 필요합니다. parent.php는 먼저 food.php를 포함하고 child.php를 포함합니다. 즉, child.php도 food.php를로드 할 것입니다.

그래서 child.php의 경우 require_once/include_once ('food.php')를 써야하나요?

감사합니다.

+0

이미로드 된 것이 확실한 경우 다시로드 할 필요가 없습니다. 만약 당신이 확실하지 않다면 require_once()를 사용하십시오. –

답변

0

프레임 워크 또는 단순한 파일 구조를 기반으로 파일이 포함되는 위치를 알 수 있습니다.

그냥 여기저기서 파일을 포함하면 "잊어 버린 경우를 대비해"정말 코딩 연습이 잘못되었습니다. 어디 선을 그립니까? head.php에서 메타 태그를 설정하십시오. 그러나 header.php에서 작동하지 않는 경우를 대비해서 index.php에서도 메타 태그를 설정하십시오.

당신은 (include_once 문이 남아있는 스크립트를 할 것입니다 반면) 오류에 정지되는 대신) (require_once를 사용할 수 - 같은 :

PHP Fatal error: require_once(): Failed opening required 'food.php'

PHP 순종 만 "한 번"포함해야하지만, 파일을 다시 포함하는 문제, 오류/경고 등을 일으킬 수 있으므로 파일을 올바르게 구조화하고 필요할 때 파일에 파일을 포함하십시오 (일반적으로 파일을 필요로하는 파일의 맨 위에 모두 포함).

만약 내가 올바르게 이해했다면 parent.php에 food.php를 먼저 넣고 child.php를 넣고 parent.php와 child.php를 모두 포함하면됩니다. food.php에있는 모든 내용에 액세스 할 수 있습니다.

희망이 있습니다.

0

예에서 child.phpfood.php을 포함 할 필요가 없습니다.

0

파일을 개별적으로 포함하는 것이 좋습니다. 어떤 이유로 든 food.phpparent.php에 포함되지 않으면 child.php의 코드가 작동하지 않습니다.

이 문제를 방지하려면 두 파일에 모두 food.php을로드하면 하나가 실패하면 다른 파일도 원활하게 작동합니다.

파일의 이름을 변경하면 더 명확 해집니다.

functions.php :

//some code 

file1.php :

require_once('functions.php'); 
//some code 

file2.php : 이상적

require_once('functions.php'); 
//some code 
관련 문제