PHP面向对象自动加载类文件

PHP实现类自动加载有两种方法:


   一、__autoload();

           __autoload是php中的魔术变量 ,在运行php脚本中遇到调用不存在类时会自动调用该方法


 例:这里有两个文件

   

//demo1.php
<?php
class demo1
{
    public function test()
    {
        echo "this is test1";
    }
}

//demo2.php
<?php
class demo2
{
    public function test()
    {
        echo "this is test2";
    }
}


     现在demo1.php 用到 demo2.php文件

  

//demo1.php文件
<?php
require_once "demo2.php";

//只能用到 require_once  include_once  ...

   

    用require 或 include时,问题是当我调用多个类时候,如果每个文件都写require include 这样会导致我们的代码很冗余。


  现在我们用PHP中的魔术变量__autoload();现在自动加载类文件

      

<?php
     function __autoload($className)
     {  
        if (file_exists('./' . $className . "php")) {
             
          require_once($fileName);
         } else {
               exit('找不到' . $className . "文件");
          }
      }

   demo2::test();


 



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值