PHP 함수 __autoload는 간단한 자동 로딩을 구현할 수 있지만 smarty를 도입한 후 __autoload 함수가 유효하지 않다는 사실이 밝혀졌습니다. 나중에 그 이유가 spl_autoload_register 함수 때문인 것으로 밝혀졌습니다.
다음 코드를 실행합니다:
function __autoload($name) { require 'class/'.$name.'.php'; echo '1'; } function autoload_test($name) { echo '2'; } spl_autoload_register('autoload_test'); $ca=new Ca();
코드가 제대로 작동하려면 __autoload 함수를 다시 등록해야 합니다.
function __autoload($name) { require 'class/'.$name.'.php'; echo '1'; } function autoload_test($name) { echo '2'; } spl_autoload_register('autoload_test'); spl_autoload_register('__autoload'); $ca=new Ca();
저작권 안내: 이 글 해당 블로거의 원본 글이므로, 블로거의 허락 없이 복제를 금합니다.
위 내용은 PHP 함수 __autoload(smarty 관련)의 실패 이유를 관련 내용을 포함하여 소개하고 있으니, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.