php 类自动执行方法,php自动加载类的实现原理

当我们news 实化一个类时,当前页面没有引入这个类,就会触发这个函数 sql_autoload_register();

给这个函数传入一个我们写好的类,执行自动加载的方法,例如

sql_autoload_register('\core\auto::load'); //执行auto类的load方法

在load方法,接收到一个参数,去引入对应的文件,就实现了自动加载类的功能了

下面是我测试的案例:

9d7fc8a4d8e22138c96ed45b24d58b8f.png

创建 index.php  ,   core/auto.php  ,core/rote.php<?php

include '/core/auto.php'; //引入自动加载类

spl_autoload_register('\core\auto::load'); //触发函数,传入自动加载类方法

new \core\rote();//实例化一个类

?>

创建core文件夹下  core/auto.php<?php

namespace core;

class auto

{

//接收到$class参数,加载对应的类

static public function load($class){

$file = str_replace('\\','/',$class);

$file = '/'.$file.'.php';

include $file;

}

}

?>

创建core文件夹下 core/rote.php<?php

namespace core;

class rote

{

function __construct(){

echo '输出测试';

}

}

结果:

93a7a137648ecf2e59577182f8fd77dc.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值