자주 쓰는 코드는 그냥 파일로 하나 만들어서 따로 저장해 두고
필요할 때마다 불러다가 쓰면 편하다.
필요한 로직을 파일마다 새로 써 두면 길어지고 읽기도 어렵고
수정할 때도 여러 파일을 수정해야 한다.
파일을 부르는 방법은 두 가지가 있다.
require / include
공통점은 둘 다 외부 파일 불러온다는 것이다.
쓰는 방법도 똑같다.
> require('name.php');
> include('name.php');
그렇다면 차이는 무엇일까?
불러오려던 파일을 불러오지 못했을 때 어떻게 반응하는가가 다르다.
include는 아무 일 없던 듯이 그 다음 코드를 이어서 실행한다.
require는 그 자리에 멈춰서 에러를 낸다.
_once를 붙이면 기능이 어떻게 달라질까?
'require'와 'include'는 각각 끝에 '_once'를 붙일 수 있다.
> include_once('name.php');
> require_once('name.php');
이러면 또 뭐가 달라질까?
여러 번 불러도 한 번만 가져온다.
예를 들어서, A파일에서 B파일을 부르고, B파일은 C파일을 불렀다.
그걸 모르고 A파일에서 C파일을 또 부를 수도 있다.
이렇게 중복해서 부를 필요가 없는 것들은
_once(); 를 붙여서 부르면 중복을 피한다.
한 가지 더 알아둘 점이 있다.
require_once(); / include_once();로 부른 애들은 각각
require(); / include(); 로 부르는 애들한테는 간섭하지 않음.
이게 무슨 말이냐면,
require_once('name.php');로 부르고 뒤에서
require_once('name.php');로 또 부르면 불러오지 않는다.
require_once('name.php');를 부른 뒤에
require('name.php');를 부르면, 이때는 다시 불러진다.
'PHP' 카테고리의 다른 글
| [php] 자주 쓰는 함수 정리 (시간, 파일, 문자열, 숫자) (0) | 2022.03.18 |
|---|---|
| php 에 존재하는 scope 는 두 종류다. (글로벌 변수, 함수 변수) (0) | 2022.03.17 |
| [php] usort 사용법과 예시 (ft. 클로저 함수) (0) | 2022.03.17 |
| [php] namespace 란? 그 의미와 쓰는 이유는? 예시 (0) | 2022.03.17 |
| php 에서 spl_autoload_register 의미 (0) | 2022.03.17 |