最新消息:欢迎加入小松的QQ群一起讨论一起学习,搜索页面修改成lua+ElasticSearch,使用php这个页面速度相对慢一点,优化之后速度杠杠的,如有问题请加群联系我

php spl autoLoad机制

PHP 1362浏览 0评论

之前写的文章中有写PHP的autoLoad自动加载机制,但是目前的框架中用的却是SPL autoload机制。
什么是spl autoload?spl autolaod机制是什么?

php spl autolaod机制函数
SPL autoload机制的实现是通过将函数指针autoload_func指向自己实现的具有自动装载功能的函数来实现的。SPL有两个不同的函数 spl_autoload, spl_autoload_call,通过将autoload_func指向这两个不同的函数地址来实现不同的自动加载机制。
这里要讲一个函数spl_autoload_register(),这个函数与__autoload有与曲同工之妙,看个简单的例子:
新建文件Person.php

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

新建文件demo.php

<?php
function loadprint( $class ) {
$file = $class . '.php';
if (is_file($file)) {
require_once($file);
}
}
spl_autoload_register('loadprint');
$person = new Person("Altair", 6);
var_dump ($person);
?>

看看是不是也实现了autoload的功能
还有一种方式在zend fromwork中使用的

<?php
class test{
public static function loadprint( $class ) {
$file = $class . '.php';
if (is_file($file)) {
require_once($file);
}
}
}
spl_autoload_register(array('test','loadprint'));
//另一种写法:spl_autoload_register( "test::loadprint" );
$person = new Person("Altair", 6);
var_dump ($person);
}
QQ交流群:136351212(满) 455721967

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

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

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

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