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(! 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);
}
以上所述就是本文的全部内容了,希望大家能够喜欢。
相关推荐
-
PHP的autoload自动加载机制使用说明
在PHP开发过程中,如果希望从外部引入一个class,通常会使用include和require方法,去把定义这个class的文件包含进来,但是这样可能会使得在引用文件的新脚本中,存在大量的include或require方法调用,如果一时疏忽遗漏则会产生错误,使得代码难以维护. 自PHP5后,引入了__autoload这个拦截器方法,可以自动对class文件进行包含引用,通常我们会这么写: 复制代码 代码如下: function __autoload($className) { include_o
-
php自动加载的两种实现方法
php自动载方法有两种. 第一种方案用__autoload,这个函数较简单,也较弱. 但有一问题没有解决, 就是在include前判断文件是否存在的问题. 复制代码 代码如下: set_include_path('aa' . PATH_SEPARATOR . get_include_path()); function __autoload($className) { //如果加这个检测, 因为此文件不在当前目录下,它就会检测不到文件存在, //但include是能成功的 if (file_exi
-
深入理解PHP类的自动载入机制
php的自动加载: 在php5以前,我们要用某个类或类的方法,那必须include或者require,之后才能使用,每次用一个类,都需要写一条include,麻烦 php作者想简单点,最好能引用一个类时,如果当前没有include进来,系统能自动去找到该类,自动引进~ 于是:__autoload()函数应运而生. 通常放在应用程序入口类里面,比如discuz中,放在class_core.php中. 先讲浅显的例子: 第一种情况:文件A.php中内容如下 <?php class A{ public
-
说说PHP的autoLoad自动加载机制
__autoload的使用方法1: 最经常使用的就是这种方法,根据类名,找出类文件,然后require_one 复制代码 代码如下: function __autoload($class_name) { $path = str_replace('_', '/', $class_name); require_once $path . '.php'; } // 这里会自动加载Http/File/Interface.php 文件 $a = new Http_File_Interface(); 这种方法
-
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自动载入类文件函数__autoload的使用方法
开发面向对象的应用程序时,往往要对每个类的定义建立一个 PHP 源文件.这样的做法产生的一个很大的烦恼就是不得不在每个脚本(每个类一个文件)开头写一个长长的包含文件的列表. 在PHP开发的系统中,当在一个文件中需要调用另一个PHP文件中声明的类时,就需要通过include或require把这个文件引入.不过有的时候,在文件众多的项目中,要一一将所需类的文件都包含进来,是一个让人很头疼的事,所以我们能不能在用到什么类的时候,再把这个类所在的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类自动加载器实现方法.分享给大家供大家参考.具体如下: 这里autoload 可兼容以下格式: Cache_File_Json class_xxx.php xxx.class.php xxx.php php代码如下: function __autoload($className){ $dirs=explode('_',$className); $fileName=array_pop($dirs); //print_r($dirs); $filePath=$fileName
-
springboot+mybatis通过实体类自动生成数据库表的方法
前言 本章介绍使用mybatis结合mysql数据库自动根据实体类生成相关的数据库表. 首先引入相关的pom包我这里使用的是springboot2.1.8.RELEASE的版本 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.0</ve
-
shell实现SSH自动登陆的方法示例
前言 公司开发使用docker,每次登陆自己开发机总要输入 ssh user_name@ip_string,然后再确认输入password,手快了还经常会输错.作为一个懒人,肯定要找一个取巧的方式,查看了下ssh命令,由于它要进行一次跟服务器的加密交互,所以没有直接附带密码登陆的选项,只好作罢. 前些天在同事进行技术分享时,看到他竟然只输入了一行命令./test.sh就成功登陆了开发机,甚是惊异,于是回来搜索研究了一下,遂成此文. shell脚本基础 在编写ssh自动登陆脚本之前,先说一下she
-
php实现的redis缓存类定义与使用方法示例
本文实例讲述了php实现的redis缓存类定义与使用方法.分享给大家供大家参考,具体如下: php+redis缓存类 <?php class redisCache { /** * $host : redis服务器ip * $port : redis服务器端口 * $lifetime : 缓存文件有效期,单位为秒 * $cacheid : 缓存文件路径,包含文件名 */ private $host; private $port; private $lifetime; private $cachei
-
Android编程实现自动检测版本及自动升级的方法
本文实例讲述了Android编程实现自动检测版本及自动升级的方法.分享给大家供大家参考,具体如下: 步骤: 1.检测当前版本的信息AndroidManifest.xml-->manifest-->android:versionName. 2.从服务器获取版本号(版本号存在于xml文件中)并与当前检测到的版本进行匹配,如果不匹配,提示用户进行升级,如果匹配则进入程序主界面. 3.当提示用户进行版本升级时,如果用户点击了确定,系统将自动从服务器上下载并进行自动升级,如果点击取消将进入程序主界面.
-
java线程之用Thread类创建线程的方法
在Java中创建线程有两种方法:使用Thread类和使用Runnable接口.在使用Runnable接口时需要建立一个Thread实例.因此,无论是通过Thread类还是Runnable接口建立线程,都必须建立Thread类或它的子类的实例.Thread类的构造方法被重载了八次,构造方法如下: 复制代码 代码如下: public Thread( ); public Thread(Runnable target); public Thread(String name); public Thread
随机推荐
- JS创建优美的页面滑动块效果 - Glider.js
- JS图片放大效果简单实现代码
- ReactNative (API)AsyncStorage存储详解及实例
- Event altKey,ctrlKey,shiftKey属性解析
- javascript中的五种基本数据类型
- bootstrap如何让dropdown menu按钮式下拉框长度一致
- php数组合并与拆分实例分析
- Android仿微信5实现滑动导航条
- 一天一个shell命令 linux好管家-磁盘-du命令详解
- js读取注册表的键值示例
- MSHTA漏洞为黑客大开远程控制之门(图)
- java 8如何自定义收集器(collector)详解
- Java 注解的使用实例详解
- 对setInterval在火狐和chrome切换标签产生奇怪的效果之探索,与解决方案!
- C#中while循环语句用法实例详解
- C# Memcached缓存用法实例详解
- Android Parcelable与Serializable详解及区别
- ViewPager的setOnPageChangeListener方法详解
- 基于webpack-hot-middleware热加载相关错误的解决方法
- vue与vue-i18n结合实现后台数据的多语言切换方法
