PHP

클래스 로딩과 네임스페이스 (namespace)

수업소개

여기서는 클래스의 정의부분과 사용부분을 분리해서 클래스를 쉽게 사용할 수 있도록 하는 방법에 대해서 알아봅니다. 

수업

소개

 autoloading

namespace

 
 

 코드

autoload/greeting/en/Hi.php

<?php
namespace greeting\en;
class Hi{
  function __construct(){
    echo '<h1>hi</h1>';
  }
}
?>

autoload/greeting/ko/Hi.php

<?php
namespace greeting\ko;
class Hi{
  function __construct(){
    echo '<h1>안녕</h1>';
  }
}
?>

autoload/main.php

<?php
require_once 'autoload.php';
use \greeting\en\Hi as HiEn;
use \greeting\ko\Hi as HiKo;
new HiEn();
new HiKo();

댓글

댓글 본문
작성자
비밀번호
  1. 키썬
    1번 영상에 있는 예제대로 했는데 hi 텍스트는 나오는데 아래에
    Fatal error: Uncaught Error: Class 'Hi' not found in ~ 시작하는 에러가 떠요.
    require_once가 한번만 클래스를 로딩해서 클래스의 결과를 출력해주는 기능을 가지고 있다면
    new Hi(); 를 왜 쓰신건지 , 그리고 이고잉님 강좌에서는 왜 에러가 안뜨는건지 궁금합니다.
    2번 영상 예제대로 해도 new Hi();때문에 같은 에러가 나는데 왜 저만 이런 에러가 나타나는건지;
  2. 고마워요
  3. 이수민
    좋은 강의 진심으로 감사드립니다^^
  4. 김민주
    spl_autoloader_register 설명은 정말 무릎을 탁쳤습니다!
  5. orez
    감사합니다. 어렵지만, 재밌습니다.!
  6. dufuqsls
    잘봤습니다.
  7. Frank
    고맙습니다~
  8. 폭스킴
    autoload.php 소스코드 첨부가 빠졌어요~
버전 관리
egoing
현재 버전
선택 버전
graphittie 자세히 보기