libs目录下有3个类文件:

Test.class.php

<?php
class Test
{
public function __construct()
{
echo "Loading Test.class.php <br>";
}
}

Test.php

<?php

class Test
{
public function __construct()
{
echo "Loading Test.php <br>";
}
}

User.php

<?php

class User
{
public function __construct()
{
echo "Loading User.php <br>";
}
}

【方法1】

<?php

//可以传入多个参数,逗号分隔,多个相同的类名最先找到的最先匹配
spl_autoload_extensions('.class.php,.php'); //设置autoload寻找php定义的类文件的目录,多个目录用PATH_SEPARATOR常量 分隔
$path = get_include_path() . PATH_SEPARATOR . "libs/";
set_include_path($path); //autoload注册
spl_autoload_register(); new Test();
new User();

【方法2】

<?php
//定义__autoload函数,页面运行时会先执行这里面的代码
function __autoload($class_name)
{
require_once "libs/" . $class_name . ".php";
echo "已加载类 " . $class_name . "<br>";
} new Test();
new User();

【方法3】

<?php
//自定义的加载类
function myLoader($class_name)
{
require_once "libs/" . $class_name . ".php";
echo "已加载类 " . $class_name . "<br>";
} //将自定义的类名载入
spl_autoload_register('myLoader'); new Test();
new User();

【方法4】

<?php
//自定义的加载类
function myLoader($class_name)
{
set_include_path("libs/");
spl_autoload($class_name);
echo "已加载类 " . $class_name . "<br>";
} //将自定义的类名载入
spl_autoload_register('myLoader'); new Test();
new User();

以上四种方法都可以自动加载libs目录下面的类,运行结果如下:

【总结】

PHP自动加载SPL的四种处理方式的更多相关文章

  1. 加载 AssetBundle 的四种方法

    [加载 AssetBundle 的四种方法] 1.AssetBundle.LoadFromMemoryAsync(byte[] binary, uint crc = 0); 返回AssetBundle ...

  2. VUE 动态加载组件的四种方式

    动态加载组件的四种方式: 1.使用import导入组件,可以获取到组件 var name = 'system'; var myComponent =() => import('../compon ...

  3. Andorid上拉加载更多的几种实现方式

    1.前言 Andriod中上拉加载更多的效果随处可见,因为一次性要展现的数据太多信息量太大的话,给用户的体验就很差(加载慢,界面卡顿.流量消耗大等),而加载更多可以控制每次加载条目的数量以达到快速加载 ...

  4. 使用JavaScript判断图片是否加载完成的三种实现方式

    有时需要获取图片的尺寸,这需要在图片加载完成以后才可以.有三种方式实现,下面一一介绍. 一.load事件 <!DOCTYPE HTML> <html> <head> ...

  5. 深入解析 composer 的自动加载原理 (转)

    深入解析 composer 的自动加载原理 转自:https://segmentfault.com/a/1190000014948542 前言 PHP 自5.3的版本之后,已经重焕新生,命名空间.性状 ...

  6. 深入解析 composer 的自动加载原理

    PHP 自5.3的版本之后,已经重焕新生,命名空间.性状(trait).闭包.接口.PSR 规范.以及 composer 的出现已经让 PHP 变成了一门现代化的脚本语言.PHP 的生态系统也一直在演 ...

  7. Laravel 学习笔记之 Composer 自动加载

    说明:本文主要以Laravel的容器类Container为例做简单说明Composer的自动加载机制. Composer的自动加载机制 1.初始化一个composer项目 在一个空目录下compose ...

  8. Vue加载组件、动态加载组件的几种方式

    https://cn.vuejs.org/v2/guide/components.html https://cn.vuejs.org/v2/guide/components-dynamic-async ...

  9. laravel5.2总结--composer使用和自动加载介绍

    首先看下phpcomposer官方的定义,composer是 PHP 用来管理依赖(dependency)关系的工具.你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer ...

随机推荐

  1. 使用JUnit测试预期异常

    开发人员常常使用单元测试来验证的一段儿代码的操作,很多时候单元测试可以检查抛出预期异常( expected exceptions)的代码.在Java语言中,JUnit是一套标准的单元测试方案,它提供了 ...

  2. Go学习笔记(一)安装Go语言环境

    Go Go 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易. Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入 ...

  3. MFC从资源加载文本

    bool CWizardSheet::GetTextResource(UINT uID, CString& csContent) { HMODULE hModule=GetModuleHand ...

  4. php链式操作的实现

    );//$db->where("id=1");//$db->where("name=2");//$db->order("id des ...

  5. day10 多媒体(文字 图片 音频 视频)

    1计算机表示图形的几种方式     bmp:以高质量保存     用于计算机     jpg:以良好的质量保存    用于计算机或者网络     png:以高质量保存     图片大小的计算公式:图片 ...

  6. mysql命令大全用户管理相关命令

        1.登陆 mysql>mysql -uJDev -p 2.用户管理 mysql>use mysql; 3.查看有哪些登陆用户 mysql> select host,user, ...

  7. IBM flex system P260

    CMM 机箱管理模块 提供如下功能: 电力控制 风扇管理 机箱和计算节点初始化 交换机管理 诊断:机箱.IO选项和计算节点 资源发现和库存管理 资源告警和监控 机箱和计算节点的电源管理 安全策略管理 ...

  8. 洛谷 P1090合并果子【贪心】【优先队列】

    题目描述 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆.多多决定把所有的果子合成一堆. 每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和.可 ...

  9. 运行里用\\加IP地址访问远程主机和用mstsc登录远程主机有什么区别??

    \\ip是访问共享:mstsc是直接远端控制主机 "\\加IP",只要是windows,除win9x外,默认系统自带共享服务,除非有防火墙,或者手工关闭lanmanserver & ...

  10. {前端CSS} 语法 Css的几种引入方式 css选择器 选择器的优先级 CSS属性相关 背景属性 边框 CSS盒子模型 清除浮动 overflow溢出属性  定位(position)z-index

    前端CSS CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素,给HTML设置样式,让它更加美观. 当浏览器读到一个样式表,它就会按照这个样式表来对文 ...