PHP中类加载的示例分析

发布时间:2021-03-02 09:54:30 作者:清风
来源:亿速云 阅读:134

这篇“PHP中类加载的示例分析”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“PHP中类加载的示例分析”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们进入主题吧。

php有什么用

php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以及php自创新的语法,主要用来做网站开发,许多小型网站都用php开发,因为php是开源的,从而使得php经久不衰。

类的访问方式有两种:

而访问的前提便是内存中有类的存在,所以需要提前将类加载至内存中。

1.手动加载

//类文件 Salary.php
<?php
   class Salary{
      public  function Student(){
        echo "Salary下面的Student方法";
      }
   }
?>
应用文件:useSalary.php
<?php
//$s = new Salary();会报错,因为useSalaty.php中间未定义Salary类

include_once 'Salary.php';				//也可以使用require,通常使用_once,因为类不允许重名
$s = new Salary();
echo $s->Student();
?>
<?php
//加载类文件是一种比较消耗资源的方式,可以事先使用class_exists()函数来判定类是否存在,存在就不用加载,不存在才加载
if(!class_exists('Salary')){
	//不存在:加载
    include_once 'Salary.php';
}
//使用
$s = new Salary();
?>

2.自动加载

<?php
function __autoload($classname){	//参数为类名:即当前需要访问的类的名字
//需要人为定义去哪加载,怎么加载   
    include_once $classname . '.php';	//假定为当前目录下,类文件名字为:类名.php
}

//使用类:内存目前并没有
$s = new Salary();	//系统发现内存没有Salary,所以调用__autoload()去加载
?>
//若在不同路径下
<?php
//定义自动加载
function __autoload($classname){
    $abc_file = 'abc/' . $classname . '.php';		//如abc/Salary.php
    if(file_exists($c_file)){                      //利用file_exists()判断文件是否存在
        include_once $abc_file;
    }
}
?>
<?php
function myself_autoload($classname){		//与__autoload()类似
    $abc_file = 'abc/' . $classname . '.php';		//如abc/Salary.php
    if(file_exists($c_file)){
        include_once $c_file;
    }
}
//此时,上述函数永远不会自动运行,除非将函数注册到系统内部
spl_autoload_register('myself_autoload');
?>
//可以定义多个方法
<?php
function wayone_autoload($classname){		
   
function waytwo_autoload($classname){		
    
}
//此时,上述函数永远不会自动运行,除非将函数注册到系统内部
spl_autoload_register('wayone_autoload');
spl_autoload_register('waytwo_autoload');
?>

以上是“PHP中类加载的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. ClassLoader类加载的示例分析
  2. Java中类加载器和类加载机制的示例分析

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php

上一篇:linux环境下如何安装php7.3.0

下一篇:ThinkPHP3.2.3从php5升级到php7的示例分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》