PHP
php 자동 클래스 불러오기 구현 spl_autoload_register()함수
Dev갱이
2020. 3. 26. 11:48
728x90
먼저 디렉토리 구조를 짜면
project - class - mysql.php , SimpleSql.php
- lib - autoload.php
index.php
이런식이라는 가정하에
index.php에서
require_once(LIB_PATH."/autoload.php");
autoload.php 파일만 include하면 class파일을 다 사용할 수 있는 정말 혁신적인거네!
--- autoload.php ---
spl_autoload_register(function($className) {
include "class/".$className . '.php';
});
spl_autoload_register 자체가 내장 함수 이기 때문에
$className이라는걸 따로 지정하지 않아도 class 파일에 있는 모든 파일들을 자동 include해준다.!!!
/*** 문제점에 봉착한게 파일명과 class명을 같게 해줘야함!!!! ***/
--- index.php ----
require_once(LIB_PATH."/autoload.php");
$obj = new SimpleSql(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$row = $obj -> fetchRow("SELECT * FROM g5_member WHERE mb_id='admin'");
성공!
$work = new work();
$resut = $work -> work();
echo $resut;
성공!
728x90