做习惯了编译语言,转到php 使用 php的面向对象开发时候遇见一个挺别扭的问题。在Php中引入对象 后 在调用过程中还需要将对象所在的php文件

require 到当前php文件

 目前代码结构


index.php
<?phpuse model\BookModel;include_once __DIR__.'/autoloader.php';
Autoloader::register();$book=new BookModel();
$book->id=10;
$book->name="wangk";
echo $book->toString();?>

autoloader.php
<?php/**** 自动载入函数*/
class Autoloader
{/*** 向PHP注册在自动载入函数*/public static function register(){spl_autoload_register(array(new self, 'autoload'));}/*** 根据类名载入所在文件*/public static function autoload($className){// DIRECTORY_SEPARATOR:目录分隔符,linux上就是’/’    windows上是’\’$filePath = __DIR__ . DIRECTORY_SEPARATOR . $className;$filePath = str_replace('\\', DIRECTORY_SEPARATOR, $filePath) . '.php';if (file_exists($filePath)) {require_once $filePath;return;
//                if(method_exists($className, "init")) {
//                    call_user_func(array($className, "init"), $params);
//                }} else {echo "无法加载" . $filePath;}}
}

bookmodel.php
<?php
/*** Created by PhpStorm.* User: wangk* Date: 2015/7/16* Time: 10:14*/namespace model;class BookModel {public  $name;public  $id;public  $age;public  function  toString(){return 'name:'.$this->name.','.$this->id.",".$this->age;}}

php 类文件加载 Autoloader相关推荐

  1. Cocos2d之Texture2D类详解之将文件加载成Texture2D对象

    一.声明 笔者以cocos2d框架cocos2d-x-3.3rc0版本的源码做分析.本文为笔者原创,允许转载和分享,只要注明文章出处即可. 二.简介 Texture2D类简介 Texture2D类允许 ...

  2. JVM-01:类的加载机制

    本文从 纯洁的微笑的博客 转载 原地址:http://www.ityouknow.com/jvm.html 类的加载机制 1.什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内 ...

  3. Java虚拟机中 类的加载过程

    Java中 类的加载过程 例如下面的一段简单的代码 public class HelloWorld {public static void main(String[] args) {System.ou ...

  4. Android类动态加载技术

    Android类动态加载技术 Android应用开发在一般情况下,常规的开发方式和代码架构就能满足我们的普通需求.但是有些特殊问题,常常引发我们进一步的沉思.我们从沉思中产生顿悟,从而产生新的技术形式 ...

  5. java虚拟机学习(四)类的加载过程

    2019独角兽企业重金招聘Python工程师标准>>> 类从虚拟机内存加载到从内存卸载,经历的生命周期是:加载,验证,准备,解析,初始化,使用,卸载这几个阶段, 其中验证,解析,初始 ...

  6. php自动加载类与路由,PHP实现路由与类自动加载步骤详解

    这次给大家带来PHP实现路由与类自动加载步骤详解,PHP实现路由与类自动加载步骤详解的注意事项有哪些,下面就是实战案例,一起来看一下. 项目目录如下 入口文件index.php<?php def ...

  7. JVM 1.类的加载、连接、初始化

    Java类的加载是由类加载器来完成的,过程如下: 首先,加载是把硬盘.网络.数据库等的class文件中的二进制数据加载到内存的过程,然后会在Java虚拟机的运行时数据区的堆区创建一个Class对象,用 ...

  8. Java虚拟机 —— 类的加载机制

    我们知道class文件中存储了类的描述信息和各种细节的数据,在运行Java程序时,虚拟机需要先将类的这些数据加载到内存中,并经过校验.转换.解析和初始化过后,最终形成可以直接使用的Java类型. 类从 ...

  9. OpenCV中使用类VideoCapture加载视频和打开摄像头

    先直接上示例代码,然后对代码进行讲解. #!/usr/bin/env python # -*- coding: utf-8 -*- # 图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 248 ...

最新文章

  1. python语言编程流程图-用流程图带你更好理解python语法
  2. 如何用计算机输入数学公式,使用Win7输入面板让数学公式输入更轻松
  3. win2008 php mysql zend phpmyadmin_Windows2008 最新版Apache2.PHP5.MySQL6.PHPMyadmin.ZendOptimizer安装图解...
  4. 数据开放 数据集_您可以使用开放数据做什么?
  5. 物联网通信之Coap 协议
  6. linux中LCD之framebuffer设备驱动
  7. 在O(1)的时间内删除链表节点
  8. 438.找到字符串中所有字母异位词
  9. MATLAB信号处理---学习小案例(5)---信号波形的产生
  10. windows自带日文输入法突然显示假名与敲击的按键不一致
  11. Android Notification使用
  12. 软考中级-软件设计师知识点与例题-1、计算机组成与结构
  13. distill_bert和tiny_bert
  14. SpringBoot中: Incorrect result size: expected 1, actual 0以及column xxxx not found解决
  15. 设计师值得收藏的5个设计网站
  16. 深入理解Plasma(二)Plasma 细节
  17. 交通诱导屏(可变信息情报板)安全管控系统
  18. 什么是软件开发脚手架,为什么需要脚手架,常用的脚手架有哪些
  19. 由于缺少调试目标“……”,Visual Studio无法开始调试。请生成项目并重试,或者相应地设置OutputPath和AssemblyName属性,使其指向目标程序集的正确位置...
  20. opengl 调试工具

热门文章

  1. clickhouse语句_篇四|ClickHouse的可视化界面与集群状态监控
  2. 刘汝佳训练指南——数论专题知识点总结:
  3. Win32项目关于MessageBox参数的详细说明
  4. 设计模式---4(抽象工厂模式的概念,产品组和产品等级的概念,抽象工厂模式的实现)
  5. 每日一题:leetcode190.颠倒二进制位
  6. Ubuntu修改/删除主目录下的中文文件夹
  7. 1026 程序运行时间 (15 分
  8. linux下查看系统socket读写缓冲区
  9. java注解编程_Java注解编程原理
  10. mysql myisam 锁机制_MySQL--MyISAM之锁机制