2013-06-15 1 views
0

helper.php : 나는의 인스턴스를 생성의 index.php에서 index.php를자동로드하지 작업을 수행

function __autoload($className) { 

    $path = ROOT_DIR.'/class/'.strtolower(trim($className)).'.class.php'; 

    if (file_exists($path)) { 
     require_once($path); 
    } 
} 

function load_libs($class_variable_name) { 

    global $session; 
    global $_libs; 

    $_libs[$class_variable_name] = new $class_variable_name($session); 

    return $_libs[$class_variable_name]; 
} 

의 상단에 필수 클래스 :

new some_class_one(); 

__autoload를 통해 클래스 파일을로드합니다. 내가 전화 경우

하지만, :

load_libs('some_class_two'); 

나는 점점 오류 : 치명적인 오류 : 클래스 'some_class_two'C에서 찾을 수 없습니다 : 라인

에 \ WAMP \ www가 \ helper.php

어떤 생각을 해야할지?

+0

try : $ arg = 'some_class_two'; load_libs ($ arg); – jospratik

+4

예 :'__autoload'가 호출되었는지 확인한 다음'file_exists ($ path)'가 false를 반환하는 이유를 알아보십시오. – Jon

답변

0

난 그냥 내 컴퓨터에서 이것을 테스트하고 완벽하게 작동합니다. 문제를 재현 할 수 없었습니다.

$ php -v 
PHP 5.4.17 (cli) (built: Aug 25 2013 02:03:38) 
Copyright (c) 1997-2013 The PHP Group 
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies 

나는 당신이 당신의 파일 이름에서 .class을 제거하는 것이 제안 : 이것은 내가 실행 해요 PHP의 버전입니다. 네임 스페이스를 사용하고 네임 스페이스/클래스 이름을 파일 시스템과 일치시키는 것이 좋습니다. 그 외의 경우 ROOT_DIR이 잘못되었거나 파일의 위치가 잘못되었습니다.

관련 문제