글
[기초문법/PHP] include와 namespace
[Include]
include란? PHP에서 include는 다른 php문서를 참조할 경우에 사용을 한다. 화면에 출력 되는
사이트에는 소스보기를 이용하거나 코드를 볼 수 있는데, 이 소스를 숨겨서 필요할 때 include로
참조를 하여 주요 php문서를 숨기기 위해 사용한다.
1 2 3 4 5 6 | <?php function helloworld(){ return "Hello World!!"; } ?> | cs |
참조할 php문을 작성한다. 참조하는 php 문서를 func2.php로 저장을 한다.
1 2 3 4 5 6 | <?php include 'func2.php'; echo helloworld(); ?> | cs |
func2.php를 include문을 이용하여 로드한다. 그래서 func2.php에 코딩한 함수 helloworld()를
출력한다.
실행화면
include 문을 사용하여 php문서를 로드할 수 있다. 하지만 include문 말고도 로딩할 수 있는 명령이
여러 개가 존재한다.
- include
- include_once
- require
- require_once
4가지의 형태가 있고, include문을 사용해서 로딩을 했을 때는 파일을 실행하지 않고, 경고문을 보내지만
require문 경우엔 php문을 실행중지 시킴으로써 사용이 안 되게 한다.
include.php 문서를 이렇게 수정을 해서 실행을 시켜보자.
1 2 3 4 5 6 7 8 | <?php require 'func2.php'; echo helloworld(); require ('func2.php'); echo helloworld(); ?> | cs |
실행화면
위의 형태로 로딩을 했을 경우엔 올바르게 출력이 되지만, 밑의 방법으로 로딩을 할 시 오류가 뜬다.
[namespace]
namespace란? namespace란 a.php와 b.php 각각의 코드엔 hellofunc()라는 함수란 동일한 이름의 함수가 있을 때
a.php의 hellofunc()와 b.php의 hellofunc()를 따로 따로 구분짓기 위해 사용된다.
kohello.php
1 2 3 4 5 6 7 8 | <?php namespace lang\ko; function helloworld(){ return "안녕하세요"; } ?> | cs |
enghello.php
1 2 3 4 5 6 7 8 | <?php namespace lang\eng; function helloworld(){ return "HelloWorld!"; } ?> | cs |
name.php
1 2 3 4 5 6 7 8 | <?php include_once 'kohello.php'; include_once 'enghello.php'; echo lang\ko\helloworld(); echo lang\eng\helloworld(); ?> | cs |
실행화면
간단하게 이야기하면 ko라는 방을 만들고, eng라는 방을 만들어서 각각의 방 안에 helloworld()
함수를 만들었다. 그래서 각 방의 이름을 앞에 붙여서 helloworld()함수를 호출하면 된다.
'기초 > PHP' 카테고리의 다른 글
[PHP 기초문법] 데이터베이스 (0) | 2018.01.10 |
---|---|
[PHP기초문법] 파일제어 (0) | 2018.01.09 |
[기초문법] 배열 (0) | 2018.01.05 |
[기초문법] 함수 (0) | 2018.01.04 |
[기초문법] 제어문 (0) | 2018.01.02 |