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

PHP面向对象-实现自动加载类__autoload() 的代码案例

程序员文章站 2022-03-27 15:42:03
...
  在设计面向对象的程序开发时,通常为每个类的定义都单独建立一个PHP源文件。当你尝试使用一个未定义的类时,PHP会报一个致命错误。可以用includerequire包含一个类所在的源文件,毕竟你知道要用到那个类。如果一个页面需要使用多个类,就不得不在脚本页面开头编写一个长长的包含文件的列表,将本页面需要的类全部包含进来。这样处理不仅繁琐,而且容易出错。
  PHP提供了类的自动加载功能,这可以节省编程的时间。当你尝试使用一个PHP没有组织到的类时,它会寻找一个autoload()的全局函数(不是在类中声明的函数)。如果存在这个函数,PHP会用一个参数来调用它,参数即类的名称。
  在下例中说明了autoload()是如何使用的,它假设当前目录下每个文件对应一个类,当脚本尝试来创建一个类User的实例时,PHP会自动执行autoload()函数。脚本假设user.class.php中定义有User类,不管调用时是大写还是小写,PHP将返回名称的小写。所以在做项目时,在组织定义类的文件名时,需要按照一定的规则,一定要以类名为中心,也可以加上统一的前缀或后缀形成的文件名,比如classname.class.php、xxx_classname.php、classname_xxx.php或是classname.php等,推荐类文件的命名使用“classname.class.php”格式。
<?php/*
    声明一个自动加载类的魔术方法autoload()
*/function autoload($className){
    //在方法中使用include包含类所在的文件
    include(strtolower($className) . ".class.php");
}$obj = new User(); //User类不存在,则自动调用autoload()函数,将类名“User”作为参数传入$obj2 = new shop();    
?>

以上就是PHP面向对象-实现自动加载类__autoload() 的代码案例的详细内容,更多请关注其它相关文章!