저는 객체 지향 PHP를 최대한 활용하고 그 길을 따라 뭔가를 배우려고합니다. 이 템플릿서로 통신 할 수있는 여러 클래스가 포함 된 클래스를 만드는 방법은 무엇입니까?
class Repository {
private $vars = array();
public function __set($index, $value){
$this->vars[$index] = $value;
}
public function __get($index){
return $this->vars[$index];
}
}
/*
*/
function __autoload($class_name) {
$filename = strtolower($class_name) . '.class.php';
$path = dirname(__FILE__);
$file = $path.'/classes/' . $filename;
if (file_exists($file) == false){
return false;
}
include ($file);
}
//Main class intialization
$repo = new Repository;
//Configuration loading
$repo->config = $config;
//Classes loading
$repo->common = new Common($repo);
$repo->db = new Database($repo);
$repo->main = new Main($repo);
그런 다음 각 클래스가 따를 것입니다 :
class Database{
private $repo;
function __construct($repo) {
$this->repo= $repo;
}
}
내가로드 된 클래스의 모든 방법과 바르에 액세스 할 수 있습니다이 방법을 MVC 튜토리얼을 따라 나는이 작업을 수행 할 수 있었다 한 전에 나는에있어 예에서 내가 메인 클래스에서이 작업을 수행하기 전에 :.
$this->repo->db->someMethod();
나를 치는 것은 객체 $의 REPO 각 시각을 중복됩니다 있다는 것입니다 ew 클래스가로드됩니다.이 문제는 메모리 문제입니까? 이 작업을 수행하는 더 좋은 방법이 있습니까? 실제 프로젝트에서 사용할 수있는 것입니까?
당신에게 대단히 감사합니다
관련 가능성이 좋은 읽기 : http://stackoverflow.com/questions/1812472/in-a-php-project-how-do-you-organize-and-access-your-helper- objects –
@Pekka 정말 멋진 독서에 감사드립니다! – 0plus1