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