php __autoload()函數

__autoload()函數簡單點說,就是在php代碼中實現自動加載/調用php的類。php

__autoload()函數是php5的新 增內置函數,若是php代碼在執行過程當中遇到了未定義的類時,經過使用__autoload()函數即可以自動將該類加載進來並使用(固然,前提條件執行 到這裏以前已經聲明__autoload()函數了)。有些童靴可能要問,這是啥意思,簡單點說就是,若是以前已經包含了__autoload()函數的 聲明(function __autoload(){......}),而執行php代碼的過程當中遇到了未定義或未聲明的類,那麼php會自動調用__autoload()函數 (固然確定是須要傳參進來的,參數就是那個未定義的類),而後執行__autoload()函數內部的代碼,而這個函數內部的代碼無一例外的即是檢測參數 (這個未定義的類)是否存在,若是存在便include或require進來。函數

//重寫__autoload函數,它就像構造函數同樣會在合適時機被自動調用ui

<?php
function __autoload($class_name) {
    require_once $class_name . '.php';
}
?>

$obj = new MyClass1(); //此時,由於MyClass1類並未定義,則php會自動使用以前發現的autoload($class_name)類自動加載該類。code

相關文章
相關標籤/搜索