iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP中类加载的示例分析
  • 950
分享到

PHP中类加载的示例分析

2023-06-06 15:06:12 950人浏览 独家记忆
摘要

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

这篇“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.自动加载

  •   在PHP7之前使用的自动加载机制:利用系统提供的__autoload()函数,然后当系统需要使用类,而内存中又不存在的时候,系统就会自动调用__autoload()函数来加载类文件。

<?phpfunction __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;    }}?>
  • 在PHP7后,不建议使用__autoload()函数,而是使用一种注册机制,将用户自定义的函数,放到系统内部,使用spl_autoload_register(定义好的函数)。

<?phpfunction 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');?>
//可以定义多个方法<?phpfunction wayone_autoload($classname){   function waytwo_autoload($classname){    }//此时,上述函数永远不会自动运行,除非将函数注册到系统内部spl_autoload_register('wayone_autoload');spl_autoload_register('waytwo_autoload');?>

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

--结束END--

本文标题: PHP中类加载的示例分析

本文链接: https://www.lsjlt.com/news/247685.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作