[기초문법/PHP] include와 namespace

기초/PHP 2018. 1. 8. 20:14

[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

설정

트랙백

댓글