首页 > Java > Java基础 > 正文

PHP中自动加载原理以及__autoload的使用教程

王林
发布: 2019-11-13 17:32:41
原创
2704人浏览过

PHP中自动加载原理以及__autoload的使用教程

自动加载原理

自动加载的原理,就是在我们new一个class的时候,PHP系统如果找不到你这个类,就会去自动调用本文件中的__autoload($class_name)方法,我们new的这个class_name 就成为这个方法的参数。

所以我们就可以在这个方法中根据我们需要new class_name的各种判断和划分就去require对应的路径类文件,从而实现自动加载。

__autoload使用教程:

我们先一步步来,看下__autoload()的自动调用,看个例子:

立即学习PHP免费学习笔记(深入)”;

index.php

$db =new DB();
登录后复制

如果我们不手动导入DB类,程序可能会报错,说找不到这个类:

Fatal error: Class 'DB' not found in D:\wamp\www\testphp\autoload\index.php on line 3

度加剪辑
度加剪辑

度加剪辑(原度咔剪辑),百度旗下AI创作工具

度加剪辑 63
查看详情 度加剪辑

那么,我们现在加入__autoload()这个方法再看看:

$db =new DB();
function __autoload($className)
{
  echo $className;
  exit();
}
登录后复制

根据上面自动加载机制的描述,你分析下会输出什么? 没错:肯定是输出:DB, 也就是我们需要new 的类的类名。所以,这个时候我们就可以在__autoload()方法里,根据需要去加载类库文件了。

index.php

$db =new DB();
function __autoload($className)
{
  require $className .'.php';
}
登录后复制

DB.php

class DB
{
  publicfunction __construct()
  {
      echo 'Hello DB';
  }
}
登录后复制

这样子我们就很轻松的将我们需要new 的class 全部导入了进来,这样子,我们就可以轻松的new N个class,比如:

<?php
function __autoload($className)
{
  require $className .'.php';
}
$db =new DB();
$info =newInfo();
$gender =newGender();
$name =newName();
//也是支持静态方法直接调用的
Height::test();
登录后复制

推荐教程:PHP教程

以上就是PHP中自动加载原理以及__autoload的使用教程的详细内容,更多请关注php中文网其它相关文章!

相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号