[PHP] 여러개의 class를 한 class에서 사용하기
class를 잘 만들어 놓아서 재 사용을 높이려고 하는데 한곳에서 여러개의 class를 사용하려고 하면은 상속이 1번뿐이여서 귀찮았습니다.
그래서 한곳에서 여러개의 class를 사용하도록 한번 만들어 보았습니다.
<?php
class AA
{
public function aa()
{
echo 'aa class';
}
}
class BB
{
public function bb()
{
echo 'bb class';
}
}
class CC
{
public function cc()
{
echo 'cc class';
}
}
class DD
{
var $aaExt;
var $bbExt;
var $ccExt;
public function __construct()
{
$this->aaExt = new AA();
$this->bbExt = new BB();
$this->ccExt = new CC();
}
}
class EE extends DD
{
public function __construct()
{
DD::__construct();
// parent::__construct();
echo $this->aaExt->aa;
echo $this->bbExt->bb;
echo $this->ccExt->cc;
}
}
$ee = new EE;
— Result —
aa class
bb class
cc clase
위체서 처럼 서로 다른 클래스를 한곳에서 모두 불러서 사용할 수 있습니다.
만약에 AA, BB, CC가 따로 있다면은 EE를 호출하는곳에서 AA, BB, CC를 class 파일을 include 하던지 해서 처리를 해야 할 것입니다.
저야 class 파일을 자동으로 모두 불러오도록 하는 함수를 모든 PHP 파일에 처음 불러오도록 해서 사용을 해서 AA, BB, CC의 class 명만 적어도 되도록 사용을 하고 있습니다.
제가 사용하는 class 파일 모두 포함하도록 하는 함수 입니다.
// class 파일 모두 로딩
function __autoload($class_name) {
require_once (_DOCUMENTROOT_.'/classes/'.$class_name.'.class.php');
}
전 class 파일을 정말 단순하게 그 기능에 맞춰서 제작을하는데 계속 추가 되는것 보다는 단순기능에서 이렇게 별도로 확장해서 사용하는게 좋을것 같아서 찾아보고 제 나르대로 이해한 부분을 정리해 놓은것입니다.
문제가 되면은 글 남겨주시면은 제가 확인하는대로 바로 시정하도록 하겠습니다.
참조 : http://b1ix.net/225