搜尋

首頁  >  問答  >  主體

獨孤九賤 類別的自動載入__autoload()的小疑問

class 類別名稱{
    function__autoload($ClassName){
    $path=$ClassName.'.php';
#    if(file_exists($path)){///檔案是否存在
#        require_once($path);//匯入該檔案
    }
    else{該檔案不存在}
    }
 ,我對了幾遍,看不到$ClassName =test 意思的語句那他是怎麼能把text.php導入進來的?

葫芦娃平衡盘葫芦娃平衡盘2747 天前1208

全部回覆(2)我來回復

  • 听装雪碧

    听装雪碧2017-08-09 11:34:00

    也就是你new test類別的時候,會執行這個__autoload方法,會把你new後面這個類別名稱test當作參數傳進這個方法裡面

    回覆
    0
  • 听装雪碧

    听装雪碧2017-08-09 11:30:43

    你要在這個類別裡面引用一個不存在的類別的時候,寫了__autoload方法後,他會自動判斷這個類別檔案是否存在,存在就會執行

    require_once($path)引用這個類別檔案

    你可以在你這個檔案加上下面的程式碼

     echo (new Autoload1())->god();

     echo (new Autoload1())->name;


    testtest.php檔案中然後寫上

        class Test

        {

            public $name = '我是Test類別檔案裡面的屬性name';  return '我是Test類別檔案裡面的方法god() ';

            }

        }

    就可以看到自動的引入了這個Test文件,可以成功的輸出值

    回覆
    1
  • 取消回覆