欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

第十二节--类的自动加载

程序员文章站 2022-04-28 15:13:42
/* +-------------------------------------------------------------------------------+ |...
/*
+-------------------------------------------------------------------------------+
| = 本文为haohappy读<<core php programming>> 
| = 中classes and objects一章的笔记 
| = 翻译为主+个人心得 
| = 为避免可能发生的不必要的麻烦请勿转载,谢谢 
| = 欢迎批评指正,希望和所有php爱好者共同进步! 
+-------------------------------------------------------------------------------+
*/

第十二节--类的自动加载

当你尝试使用一个未定义的类时,php会报告一个致命错误. 解决方法就是添加一个类,可以用include包含一个文件. 毕竟你知道要用到哪个类. 但是,php提供了类的自动加载功能, 这可以节省编程的时间. 当你尝试使用一个php没有组织到的类, 它会寻找一个__autoload的全局函数. 如果存在这个函数,php会用一个参数来调用它,参数即类的名称. 

例子6.15说明了__autoload是如何使用的. 它假设当前目录下每个文件对应一个类. 当脚本尝试来产生一个类user的实例,php会执行__autoload. 脚本假设class_user.php中定义有user类.. 不管调用时是大写还是小写,php将返回名称的小写.

listing 6.15 class autoloading

复制代码 代码如下:
<?php  
   //define autoload function  
   function __autoload($class)  
   {  
       include("class_" . ucfirst($class) . ".php");  
   }  

   //use a class that must be autoloaded  
   $u = new user;  
   $u->name = "leon";  
   $u->printname();  
?>