自动加载类,__autoload 是如何实现的

作者:超级管理员 更新时间:2017-09-13 17:56:41 来源:未知 点击:15642
麻烦大神解释下 这个例子吧 什么文件名 减6 的 什么Action 的  都干嘛的,谢谢大神了function __autoload($_className) {if (substr($_classN
麻烦大神解释下 这个例子吧 

什么文件名 减6 的 什么Action 的  都干嘛的,
谢谢大神了


function __autoload($_className) {
if (substr($_className, -6) == 'Action') {
require ROOT_PATH.'lib1/'.$_className.'.class.php';
} elseif (substr($_className, -5) == 'Model') {
require ROOT_PATH.'lib2/'.$_className.'.class.php';
} else {
require ROOT_PATH.'lib3/'.$_className.'.class.php';
}
}





-------------------------------
你应该先了解基础的,再去了解框架中的。
这是我的一篇博客,希望对你有帮助http://blog.shiguopeng.cn/article/13789.html
-------------------------------
PHP帮助手册在手, 这么简单的问题何须找大神.
-------------------------------
php找不到类的时候就会执行 __autoload(若你定义了)
substr 是个函数,用于返回字符串的字串,你看下手册吧
-------------------------------
_autoload() 方法接收的一个参数,就是欲加载的类的类名,所以这时候需要类名与文件名对应,如 Person.php ,对应的类名就是 Pserson 。
例子:
Pserson.php
<?php
class Person {
    private $name;
    private $age;

    function __construct($name, $age) {
        $this->name = $name;
        $this->age = $age;
    }

    function say() {
echo "我的名字叫:".$this->name."<br />";
echo " 我的年龄是:".$this->age;
    }
}
?>

test.php
<?php
function __autoload($class_name) 
{
    require_once $class_name.'.php';
}

//当前页面 Pserson 类不存在则自动调用 __autoload() 方法,传入参数 Person
$p1 = new Person("张三","20");
$p1 -> say();
?>

运行 test.php ,输出:
我的名字叫:张三
我的年龄是:20

推荐阅读

热门内容

php接收post数据并写入mysql问

求专家解答:php如何接收远程post过...

php 旋转图片黑底的问题

php 旋转图片后变成黑底的问题。如何保...

SQL语句有点繁琐,有没有好办法封装一下

               ...

如何实现在微信公众号被关注时自动回复多条

就是怎么实现关注时 回复多条信息  就像...

求一个算法

PHP的异步值传递保存问题

接收页面的PHP$fun=new fun...

做了一个考勤表,逻辑出现了问题

                

关于连接sql server 2008

请问我的是window7系统,php7....

微信群发功能如何实现

百度找了些,但都用不好,看一些评论说现在...

php插件Xajax使用方法详解

Xajax是PHP一个不用刷新或者跳到其...

最新内容

求问大神java空指针异常

-------------------------------构造器内声明的jf...

求问大神javaGui空指针异常

-------------------------------39行空指针。。。...

求一个div能够拖动的代码

如题-------------------------------http://...

springboot 整合 mybatis 封装dao的问题

dao接口:public interface AdminDao {method ...

诡异的问题,在return的时候,出问题了

-------------------------------所以debug的重...

JavaObject类中的registNatives()方法实现了那些事情

百度上普遍说注册本地方法wait、notify、notifyAll、hashCo...

ajax请求成功后怎么把data数据显示到页面上

 success: function (data){         var s...

SpringMvc中如何将数组在前台遍历

各位大佬求助,因为前台使用的是HTML  没有使用jstl遍历在controll...

springmvc+websocket 拦截器进去以后到handler一直报空指针异常

严重: Servlet.service() for servlet [sprin...

JAVA虚拟机java栈内存的问题!!

最近在学习JVM,学到java栈的部分,看到书上说栈溢出是因为给栈分配的内存不够...

maven 项目运行不了

maven项目有多个模块,分别是model、dao、service、web(使用...

SSH2项目下的所有JavaBean包括Struts2的所有Action和拦截器等都受Spring IoC容器管理吗?

SSH2项目下的所有JavaBean包括Struts2的所有Action和拦截器...

下载word文件打不开

使用response 方式,使用浏览器从服务器端下载文件,文件下载成功,并且文件...

uploadify插件问题,小白求教啊!

文件都已经成功上传了,但是谷歌浏览器可以成功调用onUploadSuccess函...

php页面能够获取到后台设置的session吗?

如果前端通过JS提交了一次用户登录的表单,后台验证成功后设置了该用户登录状态的s...

Ajax 跨越访问后台,返回出错

$.ajax({            url: requestUrl,   /...

自动加载类,__autoload 是如何实现的

麻烦大神解释下 这个例子吧 什么文件名 减6 的 什么Action 的  都干嘛...

spring 配置时遇到的一个奇怪的问题

使用spring  xml 引入了properties文件  

请问写原生的php程序需要注意什么事项?如何做到安全最大化?linux环境

因为最近在写一个微信小程序。功能很简单主要有1:手机号注册(通过短信形式)2:用...

引用其他人写的方法出现问题,大家帮忙看看,谢谢了

错误如下图上面是别人写的加载天地图的方法,在他给的工程里可以运行,我新建一个挪过...