最新消息:欢迎加入小松的QQ群一起讨论一起学习,多说即将关闭,感觉好可惜啊

PHP的autoLoad自动加载机制

PHP 1211浏览 0评论

做PHP的人都知道加载文件都是用include和require,如果加载的文件有成千上百个文件,那是件痛苦的事,之后的维护也很麻烦
举例来说明一下一般情况引用文件
新建Person.php,代码如下

<?php
class Person {
var $name, $age;
function __construct ($name, $age)
{
$this->name = $name;
$this->age = $age;
}
}
?>

新建demo.php,代码如下

<?php
include("Person.php");
$person = new Person("Altair", 6);
var_dump ($person);
?>

php5为了解决这个问题,引进了自动装载(autoload)机制,这个机制在使用类的时候自动加载类文件,有点像图片延时加载,具体看代码实现
上面的demo.php修改代码成如下代码
方法一:__autoloa

<?php
function __autoload($classname) {
require_once ($classname . ".php");
}

$person = new Person("Altair", 6);
var_dump ($person);
?>

方法二:__autoloa直接映射法

<?php
$map = array(
'Person' => 'Personc.php'
);
function __autoload($class_name) {
global $map;
if (isset($map[$class_name])) {

require_once $map[$class_name];
}
}
$person = new Person("Altair", 6);
var_dump ($person);
?>
QQ交流群:136351212

如无特别说明,本站文章皆为原创,若要转载,务必请注明以下原文信息:
转载保留版权:小松博客» PHP的autoLoad自动加载机制
本文链接地址:https://www.phpsong.com/525.html

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
木有头像就木有JJ!点这里按步骤申请Gravatar头像吧!

网友最新评论 (2)

加载中,请稍候...
  1. 写PHP代码这么久了,还真没有注意到这个问题 :mrgreen:
    php牛哥2年前 (2015-03-19)回复
    • 我也是偶尔看到的问题,分享出来
      小松2年前 (2015-03-19)回复