php 类自动载入的方法

   在PHP5之前,各个PHP框架如果要实现类的自动加载,一般都是按照某种约定自己实现一个遍历目录,自动加载所有符合约定规则的文件的类或函数。 当然,PHP5之前对面向对象的支持并不是太好,类的使用也没有现在频繁。 我们来详细探讨下吧。

  php 类自动载入方法

  ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56

<?php
class inload
{
/**
* 类自动载入,不需要由开发者调用
*
* @param string $class 类文件
*/
private function autoload( $class )
{
if( empty($class) )
{
throw new QException('加载文件不存在'.$class);
}
else
{
require _SPRING_.'/_Core/SpringMap.php'; //框架地图
if(! file_exists( $source[$class]['file'] ) )
{
throw new QException('加载文件不存在'.$class);
}
require $source[$class]['file'];
}
}
 
/**
* 注册或取消注册一个自动类载入方法
*
* 该方法参考 Zend Framework
*
* @param string $class 提供自动载入服务的类
* @param boolean $enabled 启用或禁用该服务
*/
private function registerAutoload($class = 'Interpreter' , $enabled = true)
{
if (!function_exists('spl_autoload_register'))
{
throw new QException('spl_autoload 不存在这个PHP的安装');
}
if ($enabled === true)
{
spl_autoload_register(array($class, 'autoload'));
}
else
{
spl_autoload_unregister(array($class, 'autoload'));
}
}
 
/**
* 析构函数
*/
public function __destruct()
{
self::registerAutoload('Interpreter' , false);
}

  以上所述就是本文的全部内容了,希望大家能够喜欢。

时间: 2024-10-29 03:20:01

php 类自动载入的方法的相关文章

php 类自动载入的方法_php实例

php 类自动载入方法 <?php class inload { /** * 类自动载入,不需要由开发者调用 * * @param string $class 类文件 */ private function autoload( $class ) { if( empty($class) ) { throw new QException('加载文件不存在'.$class); } else { require _SPRING_.'/_Core/SpringMap.php'; //框架地图 if(! f

PHP类的自动载入程序代码

加入我们现在有两个PHP文件,内容如下: Test1.php <?php class Test1 {     public function func1() {         return 'test1';     } } ?> Test2.php <?php class Test2 {     public function func2() {         return 'test2';     } } ?> 然而在需要载入这两个文件时,传统的写法是这样的: <?ph

深入理解PHP类的自动载入机制_php实例

php的自动加载: 在php5以前,我们要用某个类或类的方法,那必须include或者require,之后才能使用,每次用一个类,都需要写一条include,麻烦 php作者想简单点,最好能引用一个类时,如果当前没有include进来,系统能自动去找到该类,自动引进~ 于是:__autoload()函数应运而生. 通常放在应用程序入口类里面,比如discuz中,放在class_core.php中. 先讲浅显的例子: 第一种情况:文件A.php中内容如下 <?php class A{ public

php自动载入类用法实例分析_php技巧

本文实例讲述了php自动载入类用法.分享给大家供大家参考,具体如下: <?php //function __autoload($class_name) { // require_once $class_name . '.php'; //} spl_autoload_register(array("core",'autoload'));//当实例化类的时候,自动调用core类中的autoload()方法来载入类 //也可以使用__autoload()来实现,但是php新版本建议使用

深入理解PHP类的自动载入机制

php的自动加载: 在php5以前,我们要用某个类或类的方法,那必须include或者require,之后才能使用,每次用一个类,都需要写一条include,麻烦 php作者想简单点,最好能引用一个类时,如果当前没有include进来,系统能自动去找到该类,自动引进~ 于是:__autoload()函数应运而生. 通常放在应用程序入口类里面,比如discuz中,放在class_core.php中. 先讲浅显的例子: 第一种情况:文件A.php中内容如下 <?php class A{ public

在Word文档中插入当前日期并自动更新的方法

在Word文档中插入当前日期并自动更新的方法   图1 红头文件 解决方案一 利用"日期和时间"功能在文档中插入当前日期. 操作方法 ※利用"日期和时间"功能在文档中插入当前日期※ 步骤1.将光标定位到需要插入当前日期处. 步骤2.如图 2所示,单击"插入"选项卡→"文本"组中的"日期和时间"按钮,打开"日期和时间"对话框. 图2 打开"日期和时间"对话框 步骤3.如

php+ajax实现文章自动保存的方法

 这篇文章主要介绍了php+ajax实现文章自动保存的方法,可实现文章内容的实时保存,防止突发情况下的数据丢失,是非常实用的技巧,需要的朋友可以参考下     本文实例讲述了php+ajax实现文章自动保存的方法.分享给大家供大家参考.具体分析如下: php+ajax文章自动保存的方法主是要方便用户,提高用户体验,我们就是用ajax把数据保存一个临时数据,像csdn一样,他可以自动保存用户的数据,这样就是掉电,出现意外你编辑的数据都不人被丢失. 这是自动保存草稿的核心的一部分, autosave

Android AutoCompleteTextView连接数据库自动提示的方法(附demo源码下载)_Android

本文实例讲述了Android AutoCompleteTextView连接数据库自动提示的方法.分享给大家供大家参考,具体如下: 这个简单例子也体现MVC的思想.AutoCompleteTextView 就是View,而SimpleCursorAdapter就是Controller,SQLiteOpenHelper就相当于Model. 1.首先定义MVC中的Model,自定义DBHelper类继承SQLiteOpenHelper用于访问数据库 import android.content.Con

C# 网络编程之使用Socket类Send、Receive方法的同步通讯

      经过几天学习,终于解决了再C#网络编程中使用Socket类Send和Receive方法开发的客户端和服务端的同步通讯程序:实现了又客户端想服务器发送消息的界面程序.主要使用的方法是:      1.Socket套接字编程的知识,通过IPAddress定义一个IP地址,IPEndPoint定义一个主机,Socket实例套接字对象sock和线程Thread的的成员变量;      2.再调用方法bind绑定端口.listen监听端口.accept接受连接请求.connect请求连接来连接