우리는 프로그램의 유지보수를 위해 할 수 있는 기법 중 하나로
여러 개의 파일로 분리하는 것이다.
효과는
- 자주 사용되는 코드를 별도의 파일로 만들어 필요할 때마다 재활용 가능
- 코드를 개선하면 이 코드를 사용하는 모든 앱의 동작이 개선
- 코드 수정 시 필요한 로직을 빠르게 찾을 수 있다.
- 필요한 로직만을 로드해서 메모리 낭비를 줄일 수 있다.
먼저 include없는 파일을 만들어 보자
만약 welcome함수가 자주 사용되는 코드라면
쓸 때마다 이 함수를 정의하는 건 번거롭다.
이럴 떄 사용하는 것이 include이다.
include파일을 만들어 보자
그리고 본인이 만들 파일을 만든 후 include 해본다.
이렇게 결과는 같지만 welcome을 외부 파일로 분리해서 사용한 결과이다.
결론은
include는 외부의 PHP파일을 로드할 때 사용하는 명령이다.
추가로
include 외에 require이 있다.
거의 비슷하지만
include가 불러오는 파일이 존재하지 않을 때는 warning으로써 경고하지만
require는 fatal error로써 심각한 에러를 표현하기에 보다 엄격한 로드 방법이다.
추가로2
include나 require뒤에 _once를 붙이면
파일을 로드할 때 단 한 번만 로드하면 된다는 의미이다.
[namespace]
이름의 공간?
namespace는 함수와 상수와 클래스 같은 것들의 이름이며 쉽게 말해
같은 이름을 가지고 있는 것들의 충돌을 막는 것이다.
어우 어렵다
더 쉽게 말해
이름이 서로 같은 파일을 한 번에 불러오면 오류가 뜨니까
그걸 방지하기 위해 같은 이름 파일들에게 namespace를 적용하면 불러올 때 오류가 나지 않는다.
물론 하나의 파일에 같은 이름을 가진 함수도 가능하다.
영어 인사 파일 만들고
한국어 인사 파일 만들고
namespace 적용해서 로드
그냥 echo에 각 파일에 정한 namespace이름을 함수 앞에 슬래쉬로 적어주면 된다. 개 쉬움.