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:A
20 $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位于同一目录下,类可以加载进来。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。