在PHP5之前,如果需要使用一个类,只需要直接使用include/require将其包含进来即可
test.class.php
复制代码 代码如下:
<?php
class abc{
function __construct()
{
echo 'www.hzhuti.com;
}
}
?>
load.php
代码如下
复制代码 代码如下:
<?php
class LOAD
{
static function loadClass($class_name)
{
$filename = $class_name.".class.php";
if (is_file($filename)) return include_once $filename;
}
}
/**
* 设置对象的自动载入
* spl_autoload_register — Register given function as __autoload() implementation
*/
spl_autoload_register(array('LOAD', 'loadClass'));
$a = new Test();//实现自动加载,很多框架就用这种方法自动加载类
?>
__autoload()
在实际项目中,不可能把所有的类都写在一个 PHP 文件中,当在一个 PHP 文件中需要调用另一个文件中声明的类时,就需要通过 include 把这个文件引入。不过有的时候,在文件众多的项目中,要一一将所需类的文件都 include 进来,一个很大的烦恼是不得不在每个类文件开头写一个长长的包含文件的列表。我们能不能在用到什么类的时候,再把这个类所在的 php 文件导入呢?
为此,PHP 提供了 __autoload() 方法,它会在试图使用尚未被定义的类时自动调用。通过调用此函数,脚本引擎在 PHP 出错失败前有了最后一个机会加载所需的类。
__autoload() 方法接收的一个参数,就是欲加载的类的类名,所以这时候需要类名与文件名对应,如 Person.php ,对应的类名就是 Pserson 。
下面看个完整的实例
复制代码 代码如下:
class ClassA{
public function __construct(){
echo “ClassA load success!”;
}
}
//定义一个类ClassA,文件名为ClassA.php
class ClassA{
public function __construct(){
echo “ClassA load success!”;
}
}
class ClassB extends ClassA {
public function __construct(){
//parent::__construct();
echo “ClassB load success!”;
}
}
//定义一个类ClassB,文件名为ClassB.php,ClassB继承ClassA
class ClassB extends ClassA {
public function __construct(){
//parent::__construct();
echo “ClassB load success!”;
}
}
定义两个测试用的类之后,我们来编写一个含有__autoload()方法的PHP运行程序文件如下:
复制代码 代码如下:
function __autoload($classname){
$classpath=”./”.$classname.'.php';
if(file_exists($classpath)){
require_once($classpath);
}
else{
echo ‘class file'.$classpath.'not found!';
}
}
$newobj = new ClassA();
$newobj = new ClassB();
相关推荐:
内容创作新时代:自动生成文章的AI如何改变写作生态
SEO与SEM:谁才是提升网站流量的王者?,Ai中字体如何变形立体
AI智能时代的到来:如何利用人工智能推动生活与商业创新,ai相册下载
seo网页优化什么意思,seo网站优化必知的10个问答,问吧,【解决】百度不知道 ,ai识别点读机
OpenAI无法验证支付方式?解决方案与常见问题解析,你好月光ai
AI公众号文章生成,轻松打造爆款内容
什么是seo推广找行者SEO,seo推广效果怎么样 ,西宁ai万词霸屏系统
为什么要seo排名,为什么要做seo推广 ,AI写作开启创意新世界
ChatGPT怎么打不开了?解决办法,轻松恢复畅通无阻!,ai订酒店ai对话
ChatGPT付款被拒?如何应对与解决常见支付问题,掉包ai
SEO要不,来看看如何通过SEO优化提高网站流量和曝光度,seo 获客技巧
好用的AI写作软件,让创作更高效
什么是seo公司口碑,seo品牌 ,ai大模型训练是什么意思
ChatGPT的超链接点不开?解决方法一网打尽!,情感ai写作指令是什么
SEO优化如何为网站做好关键词研究和优化,ai直通
SEO快速提升:让你的网站排名瞬间飙升的秘诀,网站建设的发展目标
ChatGPT回答问题,网页无法线下滚动?解决方案轻松get!,谷歌AI铃声
什么是神马排名?让你的网站脱颖而出,轻松占据搜索引擎的C位!,乳山网站优化关键词排名
SEO词的魔力:如何通过关键词优化打破流量瓶颈,免费网站建设高端
SEO但是,这些常见误区你真的知道吗?,凤岗网站建设开发
SEO合作:让你的网站在搜索引擎中脱颖而出,惠州抖音seo策划公司
ChatGPT恢复正常使用时间,提升你的工作与生活效率,联想电脑AI0510
SEO目标:让您的网站轻松登顶搜索引擎,优化购物网站的搜索
ChatGPT模型进化历程:人工智能的智慧革命,ai 喷枪星空
SEO能够助力网站流量增长,提升品牌竞争力,Seo网站排名原理
文章续写AI:提升写作效率,创意无限
SEO很多,如何在竞争激烈的市场中脱颖而出?,在SEO优化中
为什么要监控SEO效果,国家为什么要监控个人 ,抚顺ai系统
ChatGPT的VPN梯子:畅享全球互联网自由,打破地域限制,一直搜Ai
优化文字,让表达更精准:提升写作效率的关键,个人网站建设外包
SEO快速优化排名:助你网站跃升搜索引擎首页,ai彩虹立体9怎么做
SEO知道:让你的网站在搜索引擎中脱颖而出,水安建设集团网站
SEO深度解析:如何通过深度优化提升网站排名,带来流量和转化,咸宁网站建设大概费用
ChatGPT故障你从未听过的真相,究竟是什么让它偶尔“失灵”?,ai 图片 矢量
GPT-3.5可以免费使用吗?AI未来的无限可能,ai烧猪
实用AI工具:提升效率、优化生活的科技利器
SEO排位:如何通过精准策略提升网站排名,获得流量与转化,林海网络推广营销
为什么说seo重要,为什么说seo重要一点 ,中通智能ai是什么意思
为什么说seo这么重要,seo重要吗 ,ai19920403
什么是seo平台seo教程,什么是 seoseo有何价值 ,论文写作ai助手公众号
为什么seo推广那么多,seo推广难吗 ,东莞ai听译平台
ChatPartner无法连接网络?解决方案,让你的聊天体验更顺畅!,如何用ai给自己写作文
SEO未来:如何在变革中抢占先机,迎接数字营销的新纪元,台州网站建设分析和总结
打造高效创作体验,写文章AI软件重塑内容生产力
SEO重要性与企业互联网发展的必由之路,互联网营销推广平台设计
SEO架构:提升网站流量的核心策略,东营南江全平台营销推广
SEO优化攻略:如何通过精准策略提升网站排名与流量,aI ow翻译
ChatGPT为什么打不开了?揭秘背后的原因与解决办法,ai业务后端
AI工具,让工作效率翻倍:AI工具教程全面解析
OpenAI推出的GPT-4Turbo大幅降低了AI应用成本,推动了AI技术的普及化,ai*版