复习__autoload的时候,看到了spl_autoload_register()这个函数。但是一下子没有弄明白,通过查资料我算是弄明白了。

1.__autoload()    ——    自动加载函数

我把很多个类文件以 类名.class.php的形式存放在class目录中,在class的同级目录中建立一个index.php。进入class目录里面分别建立class1.class.php、class2.class.php、class3.class.php文件,分别为里面的文件添加一下代码

<?php //class1.class.php中
class class1{
public function __construct(){
echo "class1";
}
}
?> <?php //class2.class.php中
class class2{
public function __construct(){
echo "class2";
}
}
?> <?php //class3.class.php中
class class3{
public function __construct(){
echo "class3";
}
}
?>

index.php文件中写入

 <?php function __autoload($classname){
$filename = "./class/".$classname.".class.php";
if(is_file($filename)){
include $filename;
}
}
$test1 = new class1(); echo '<br/>'; $test1 = new class2(); echo '<br/>'; $test1 = new class3();
//结果是 class1
class2
class3 ?>

我们成功的自动加载了class下面所有的要加载的类。

2.spl_autoload_register()    ——    注册__autoload()函数

class里面的文件不做任何改变,只是简单的改写一下index.php

 <?php // 写一个loadclass函数
// loadclass函数不具备自动加载类的功能
function loadclass($classname){
$filename = "./class/".$classname.".class.php";
if(is_file($filename)){
include $filename;
}
} // spl_autoload_register()函数让这个loadclass具备了自动加载类的功能 spl_autoload_register("loadclass");
$test1 = new class1(); echo '<br/>'; $test1 = new class2(); echo '<br/>'; $test1 = new class3();
?>

sql_autoload_register()函数的更多相关文章

  1. sql_autoload_register() 函数 和__autoload() 的区别

    1:__autoload($class) 因为是一个函数,所以只能定义一次,使用多个会冲突报错;而 sql_autoload_register('function') 可定义多个,它有效地创建一个队列 ...

  2. PHP设计模式笔记一:准备工作 -- Rango韩老师 http://www.imooc.com/learn/236

    一.编程字体选择 1.选择等宽字体 包括Courier New ,Consolas,Source Code Pro(推荐) 2.环境搭建(建议easyPHP) 二.开发符合PSR规范的基础框架 PSR ...

  3. Python 小而美的函数

    python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况   any any(iterable) ...

  4. 探究javascript对象和数组的异同,及函数变量缓存技巧

    javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...

  5. JavaScript权威指南 - 函数

    函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...

  6. C++对C的函数拓展

    一,内联函数 1.内联函数的概念 C++中的const常量可以用来代替宏常数的定义,例如:用const int a = 10来替换# define a 10.那么C++中是否有什么解决方案来替代宏代码 ...

  7. 菜鸟Python学习笔记第一天:关于一些函数库的使用

    2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的 ...

  8. javascript中的this与函数讲解

    前言 javascript中没有块级作用域(es6以前),javascript中作用域分为函数作用域和全局作用域.并且,大家可以认为全局作用域其实就是Window函数的函数作用域,我们编写的js代码, ...

  9. 复杂的 Hash 函数组合有意义吗?

    很久以前看到一篇文章,讲某个大网站储存用户口令时,会经过十分复杂的处理.怎么个复杂记不得了,大概就是先 Hash,结果加上一些特殊字符再 Hash,结果再加上些字符.再倒序.再怎么怎么的.再 Hash ...

随机推荐

  1. ORA-01950:表空间“USERS”中无权限

    ORA-01950:表空间“USERS”中无权限 解决方案: A)确认给用户授权了resource角色 B)取消限制 ALTER USER "HCCPMS" QUOTA UNLIM ...

  2. [BeiJing wc2012]连连看

    题目链接 费用流板子+拆点 #include <bits/stdc++.h> using namespace std; typedef long long ll; inline int r ...

  3. Python web前端 08 字符串 数组 json

    Python web前端 08 字符串 数组 json 一.string #string 字符串 #索引 下标 偏移量 ---从0开始 str[index]; #通过索引取字符串 可读不可写 str. ...

  4. 作用域提升(Scope Hositing )是 Webpack 3 的标志性特征

    http://blog.csdn.net/playboyanta123/article/details/73533079

  5. JAVA基础之基本类型包装类、System类、Math类、Arrays类及大数据运算

    个人理解: 为了方便运算及调用一些方法,我们需要将基本类型的数值转换为对象:不过转换的时候需要特别注意好它们的类型到底是什么,需要调用方法的类名是哪个!特别注意是Byte常量池的相关问题(==):gc ...

  6. Spring中统一相同版本的api请求路径的一些思考

    Spring中统一相同版本的api请求路径的一些思考 问题场景 当我们在实际开发中,可能会遇到开发相同同版本的api, 假设相同版本的api请求路径为/v1/functionA,/v1/functio ...

  7. iOS 应用架构 (二)

    iOS 客户端应用架构看似简单,但实际上要考虑的事情不少.本文作者将以系列文章的形式来回答 iOS 应用架构中的种种问题,本文是其中的第二篇,主要讲 View 层的组织和调用方案.上篇主要讲 View ...

  8. UNITY_MATRIX_MVP和UnityObjectToClipPos

    在unity5.6以上版本中,shader中的UNITY_MATRIX_MVP将会被UnityObjectToClipPos替代,以后我们在写顶点函数时就是这样的 v2f vert(appdata v ...

  9. Python2和Python3语法区别

    1.使用for循环进行换行 python 2.x, print 不换行>>> print x, python 3.x print 不换行>>> print(x, e ...

  10. HTML 中的特殊字符

    空格符         <小于号    < >大于号    > &和好      & ¥人民币  ¥ ©  版权   © ®  注册商标 ® ℃ 摄氏度  ° ...