首页 > 代码库 > PHP自动加载类__autoload()浅谈

PHP自动加载类__autoload()浅谈

在面向对象编程中,都是以对象为单位的操作,如果我有两个不同的类,类A和类B,在同一个文件里,实例化对象,就能在这个文件同时调用类A和类B的函数

 1 <?php 2 #a.php 3  4 class A{ 5     public function funA() 6     { 7         echo ‘The class:‘.__class__.‘<br/>‘; 8     } 9 }10 11 class B{12     public function funB()13     {14         echo ‘The class:‘.__class__.‘<br/>‘;15     }16 }17 $a = new A();18 $b = new B();19 $a->funA(); //The class:A20 $b->funB(); //The class:B

两个类都在同一个文件,所有能运行成功,但现在大部分应用都分MVC,不同类专门处理特定的事物,比如C(Controller),只执行与事物有关的逻辑操作,这些文件很明显分属于不同目录下:

|—root

    |—controller

        |—controllerA.php

    |—model

       |—modelA.php

  |—view

        |—viewA.php

这时我要在modelA.php里怎么引用controllerA.php的函数呢?这就用到__autoload()了!

当你试图引用一个不曾定义的类时,该函数就会去寻找并加载,如果controllerA.php和modelA.php位于同一目录下,类可以加载进来。

PHP自动加载类__autoload()浅谈