생활코딩 | include와 namespace include
본문
※ 영상을 선명하게 보기 안내
- 유튜브 영상에서 오른쪽하단에 톱니바퀴를 클릭합니다.
- 팝업목록에서 "품질" 선택하세요.
- 원하는 해상도를 선택해주세요.
※ 모바일에서 Wifi가 아니라면 데이타가 소진될 수 있으니 주의바랍니다.
생활코딩님의 PHP강의 청각장애인을 위한 자막
예 이것이 가에는 잉 클로드 와 네임스페이스 라고 하는 이 주제에 대해서
알아보겠습니다자 여기서 얘기하는 인클루드 는 어여 영어로는 포함 아다
라는 뜻인데요
자 무엇을 포함하여 하면 자 여기 우리가
전제 실행 시키려고 하는 php 파일이 있습니다
저희 php 파일 안에 다른
php 파일을 포함 시킬 때 사용하는 방법이 바로 이 클라우드 또는 리
콰이어 라고 하는 것이구요
저의 네임스페이스 라고 하는 것은 여러분이 잉 클로드 와 같은 이런
기능을 사용하게 되면 자 여러개의 php 파일을 하나의 php 파일
안에서
인크루트 에서 다른말 로드에서 사용을 하게 되는데 그 각각의
php 파일이 만약 서로 똑같은 이름의 함수를 가지고 있다면
또는 똑같은 이름의 클래스를 가지고 있다면 또는 똑같은 이름의
어 상수를 가지고 있다면 그러면 php 에서는 충돌이 납니다
예 그래서 에러가 발생을 하기 때문에 바로 그러한 문제를
어허 해결하기 위한 방법으로써 네임스페이스 라는 방법이 있는데 이 두
가지 이는 사실 연결되어 있고 굉장히 밀접한 관계에 있는 기능이라고 할
수가 있습니다
요 기능들에 대해서 이건 시간을 살펴보도록 하겠습니다
자 여기 제가 적어놓은 것처럼 이 프로그래밍 이라고 하는 것은 예
자꾸 단순한 것에서 크고 복잡한 것으로 진화를 합니다
예 그 과정에서 처음에는 조건문 반복문 변수 상수
또 뭐 비교 음은 요 정도의 것들 만으로도 충분히 프로그램을 만들 수가
있었는데 이 프로그램이 점점 커지면서 점점 이런 것만으로 는 거대한
프로그램을 만들고 또 것들 유지하고 또 그것들이 버그가 없이 잘
동작하도록 하는 데에 점점 큰 어려움을 겪게 됩니다
예 그래서 여러가지 방법들이 고안이 됐는데 그 중에 대표적이 대표적으로
얘기할 수 있는 것은 제가 생각하기엔 함수가 있을 것 같아요
예 2 함수 없이 도리는 충분히 프로그램을 만들 수 있습니다
조건문 반복문 이런 것들을 통해서 요 하지만 함수가 없다면 이 굉장히
많은 코드가 중복 되겠죠
즉 함수를 작성하는 걸 통해서 우리가 꾀하는 것은 중복을 제거하는 것이고
다른 말로는 코드의
재사용 성
또는 제 3
성이 줘 제 활용성을
높이는 역할이 바로 함수 핵심적인 역할을 할 수 있는데 이 함수와 거의
똑같은 역할을 하는것이 바로 우리가 지금 배우게 될 잉 클로드 라고 할
수 있습니다
회색 아 수업 초입에서 도 말씀드렸듯이 인클로저 라고 하는 것은 필요에
따라서 다른 php 파일 코드 하는 숲 안으로 불러와서 사용하는 것
지바 로잉 클로드 라고 하는건데요 이 말보다는 예제를 보시면 훨씬 더
쉽게 이해가 갈 겁니다 자 우선 클로드 를 사용하기 전에 우리가 인클루드
가 없는 케이스를 한번 생각을 해 보면 자 지금 굉장히 단순한 형태의
php 애플리케이션이 있습니다
자 이 코드는 어떠한 문제도 없는 코드 있는데 인데요
우선 웰컴 이라고 한 함수를 정의 했고 그 암수를 웰컴 이라고 이렇게
해서 호출을 했죠
자 그런데 왜 컴 이라고 하니 함수가 지금 우리가 작성한 이 하나의
php 파일 안에서만 사용이 된 듯
링클 누드 라는 것에 대해 소리가 생각했죠 생각해볼 필요가 없습니다
근데 이 웰컴 이라는 함수가 여러 개의 php 애플리케이션 여러 개의
php 파일에서 사용된다면
그때부터 문제가 생기기 시작한다.는 것이죠
그것은 마치 이 함수를 우리가 사용하는 이유가
어 중복적으로 사용되는
자주 사용되는 어떤 로직을 재사용하기 위해서 함수를 사용하는 것과 거의
똑같은 원리라고 생각하시면 되겠습니다
자 그럼 잉 클로드 라는 기능을 통해서 이러한 반복 또는 중복을 한번
제거 해 보죠
자 여기 예제를 만든 코드가 있는데요 여기 있는 코드는 위가 우리가
윌 살펴 같은 코드에서 호출 되는 부분만 을 제거한 파일이 고요
그리팅 점 php 란 이름을 가지고 있습니다
자 그러면 여기 있는 유 함수를 다른 파일에서 사용한다. 라고 한다.면
그렇게 하시면 됩니다
자 보시는 것처럼 2점 php 라는 파일을 만들었구요
요 파일은 잉 클로드 라고 하는 이 특별한 이 php 의 구문을 사용해서
그리팅 점 php 라고 하는 파일을 2
이점 php 라는 파일 안으로 잉 클로드 즉 포함 을 시킨 겁니다
그럼 어떻게 되냐면 여기에 있는 요 코드가
마치 여기 이행의 있는 잉 클로드 라고 되어있는 이 것 대신에
이것이 여기에 위치하는 것과 똑같이 동작하게 됩니다
자 그럼 4명의 있는 에코 웰컴 이라고 하는 져 함수가 호출되면 서 바로
그리팅 점 php 즉 2000 php 에서 인크루트 그리팅 젊 php 를
통해서
잉 쿨 누드 로드된 요 함수의 내용이 실행이 되면서 헬로 월드 가
화면에 출력이 될 겁니다
자 이번 지금까지 제가 설명드릴 때 인클루시브 라고 하는 이 특별한
명령을 이용해서 어떠한 php 애플리케이션 php 파일을 일종의 모듈
로써
었 다 불러온 로드하는 방법에 대해서 알아봤는데요
이것과 거의 똑같은 역할을 하는 4개의 명령이 있습니다
예 자리가 우리가 살펴 같은 인클루드 고요 그리고 또 하나는 리 콰이어
라고 하는 겁니다 자 여기다가 인크루트 대신에 리 콰이어 라고 적어주시면
되는 겁니다 자 그러면 에리카 이어 와 인크루트 의 차이점이 무엇이냐
요게 중요하겠죠 자 잉 클로드 와 리카 이어 에 차이점은 거의 없구요
차이점이라고 한다.면 인클로저를 했을 때 여기 있는 요 파일이 실제로는
존재하지 않거나
예 즉 포함 하려고 하는 파일이 존재하지 않거나 아니면 뭐 퍼미션 문제
권하 문제 때문에 읽어올 수 없는 경우에
잉 클로드 라고 하는 점 명령은
워닝 을 뛰게 됩니다 원님이 원행 이라고 하는 경고 메세지를 띄우게
되는데요
반면에 리 콰이어 를 했을 때 뒤에 있는 파일이 사용할 수 없는
파일이라고 한다.면
리 콰이어 는
스웨이 털 에러를 발생시킵니다
자 파이터 에러는 어치 명 적인 에러입니다 치명적
원인은
주의 a
이정도 저주 2 와 치명적인 것 이 중에 어떤게 더 치명적으로 보이시나요
힐 당연히 치명적 이라 이름을 갖고 있는 것이죠 그래서 eater 에러가
훨씬 더 심각한 문제가 발생했을 때 발생하는 이 에러 이기 때문에 리카
이어 라고 하는 것은
잉 클로브 더빙 클로드 보다 더 강제력이 강하다고 할 수가 있습니다
자 받아낼 이잉 클로드 원스 라는 것이 있고 이 콰이어 드 원수가
있습니다
그러면 뒤에다가 언더바 원스 라는 것을 적 접두사를 접미사를 붙이는 것은
어떤 의미를 갖게 된 야 면 자 만약에
여기에 있는 인클루시브 들을 열어보니 두 번 반복적으로 인클루드 했다
그러면 이미 안에 들어가 있는 요 php 코드는 두번다 실행이 됩니다
예 만약에 만약에
여기 웰컴 이라고 한 여기 있는 그리팅 점 p
php 의
웰컴 이라고 하는 함수를 호출하는 부분이 만약에 위치한다.면 자 여기 있는
이 점 khp 를 실행시키면
자 여기 그리팅 2점 php 를 실행시키는 데
잉 클로드 그리팅 젊 핀 khp 라고 하는 요 파일이 두 개라면
예요 이 부분이 두 번 사용이 됐다면
그러면 이 웰컴 안에 들어가 있는 자 그리팅 점 png php 안에 있는
요구 문이 두 번 실행이 되면서 자 헬로 월드 라는 텍스트는
여기서 두 번 실행되고 여기서 한 번 실행해서 종 3번이 실행이 됩니다
근데 만약에 위잉 클로드 뒤에 잉 클로드
원스 라고 하고 이 뒤에 있는 것을 추구한다.면
요거를 일단 한번 호출 했으니까 한번은 헬로 월드 가 됩니다
작은데 이미 한번 호출 한번 인클루드 했기 때문에 그 다음엔 더 이상 잉
클로드 를 하지 않습니다
그렇기 때문에 어 3 만약에
잉 콜드 언더 원스 하게 되면 헬러 에 들은 텍스트가 2번 호출 되게
됩니다
자 그러면 잉 클로드 원수와 리카의 원스 는 동일한
어 동작을 한다.는 걸 알 수 있죠 차이점은 애가 원이 얘는 titer
에러를 발생시킨다 는 그 차이 밖에 없다는 겁니다
자 여기 니 원스 가 또 중요한 의미는 이유는 여러분이 php
애플리케이션 개발 했어요
근데 이 php 애플리케이션은 규모가 있어서 다른 php 애플리케이션을
잉 클로드 합니다
근데 이거 또 다른 php 애플리케이션의 인클루드 하는 거예요
그리고 또 얘도 따른 걸린 클로드 하고요
이런 식의 관계를 갖다 보면 어딘가에서 중복적으로 php 애플리케이션을
잉 클로드 하는 경우가 생길수가 있습니다
요기서 이 클로드 했는데 여기서도 잉글루 글 한다.고 하면 그건 중복이
되겠죠
그런 경우에 이미 인클루드 가 끝난 한번 잉 클로드 가 된 이 php
애플리케이션의 경우에는 더 이상 이 근로자 잉 클로드 하지 않도록
강제하는 것이 바로 뒤에 있는 이 접미사 언더바 원스 라고 하는 거라고
생각하시면 되겠습니다
자 이렇게 해서 제가 인클루드 리카 이어 이 두 가지 명령을 사용하는
방법에 대해 설명을 들었는데요
이 애플리케이션을 제작하는 데 있어서 중복을 제거하고 제 하루 성을
높이는 것은 대단히 중요한 문제입니다
예 그 그러한 부분에서 이 규모 있고 유지보수 하기 쉬운 애플리케이션을
만드는데 있어서 아주 핵심적인 역할을 하는 기능이 바로 인크루트
리 카이 오니까요 잘 여러분들 익혀 주셨다 가 나중에 프로젝트 하실때
요구를 잘 이용하시기 바랍니다
댓글 0개
등록된 댓글이 없습니다.