php 类文件加载 Autoloader
做习惯了编译语言,转到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相关推荐
- Cocos2d之Texture2D类详解之将文件加载成Texture2D对象
一.声明 笔者以cocos2d框架cocos2d-x-3.3rc0版本的源码做分析.本文为笔者原创,允许转载和分享,只要注明文章出处即可. 二.简介 Texture2D类简介 Texture2D类允许 ...
- JVM-01:类的加载机制
本文从 纯洁的微笑的博客 转载 原地址:http://www.ityouknow.com/jvm.html 类的加载机制 1.什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内 ...
- Java虚拟机中 类的加载过程
Java中 类的加载过程 例如下面的一段简单的代码 public class HelloWorld {public static void main(String[] args) {System.ou ...
- Android类动态加载技术
Android类动态加载技术 Android应用开发在一般情况下,常规的开发方式和代码架构就能满足我们的普通需求.但是有些特殊问题,常常引发我们进一步的沉思.我们从沉思中产生顿悟,从而产生新的技术形式 ...
- java虚拟机学习(四)类的加载过程
2019独角兽企业重金招聘Python工程师标准>>> 类从虚拟机内存加载到从内存卸载,经历的生命周期是:加载,验证,准备,解析,初始化,使用,卸载这几个阶段, 其中验证,解析,初始 ...
- php自动加载类与路由,PHP实现路由与类自动加载步骤详解
这次给大家带来PHP实现路由与类自动加载步骤详解,PHP实现路由与类自动加载步骤详解的注意事项有哪些,下面就是实战案例,一起来看一下. 项目目录如下 入口文件index.php<?php def ...
- JVM 1.类的加载、连接、初始化
Java类的加载是由类加载器来完成的,过程如下: 首先,加载是把硬盘.网络.数据库等的class文件中的二进制数据加载到内存的过程,然后会在Java虚拟机的运行时数据区的堆区创建一个Class对象,用 ...
- Java虚拟机 —— 类的加载机制
我们知道class文件中存储了类的描述信息和各种细节的数据,在运行Java程序时,虚拟机需要先将类的这些数据加载到内存中,并经过校验.转换.解析和初始化过后,最终形成可以直接使用的Java类型. 类从 ...
- OpenCV中使用类VideoCapture加载视频和打开摄像头
先直接上示例代码,然后对代码进行讲解. #!/usr/bin/env python # -*- coding: utf-8 -*- # 图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 248 ...
最新文章
- python语言编程流程图-用流程图带你更好理解python语法
- 如何用计算机输入数学公式,使用Win7输入面板让数学公式输入更轻松
- win2008 php mysql zend phpmyadmin_Windows2008 最新版Apache2.PHP5.MySQL6.PHPMyadmin.ZendOptimizer安装图解...
- 数据开放 数据集_您可以使用开放数据做什么?
- 物联网通信之Coap 协议
- linux中LCD之framebuffer设备驱动
- 在O(1)的时间内删除链表节点
- 438.找到字符串中所有字母异位词
- MATLAB信号处理---学习小案例(5)---信号波形的产生
- windows自带日文输入法突然显示假名与敲击的按键不一致
- Android Notification使用
- 软考中级-软件设计师知识点与例题-1、计算机组成与结构
- distill_bert和tiny_bert
- SpringBoot中: Incorrect result size: expected 1, actual 0以及column xxxx not found解决
- 设计师值得收藏的5个设计网站
- 深入理解Plasma(二)Plasma 细节
- 交通诱导屏(可变信息情报板)安全管控系统
- 什么是软件开发脚手架,为什么需要脚手架,常用的脚手架有哪些
- 由于缺少调试目标“……”,Visual Studio无法开始调试。请生成项目并重试,或者相应地设置OutputPath和AssemblyName属性,使其指向目标程序集的正确位置...
- opengl 调试工具
热门文章
- clickhouse语句_篇四|ClickHouse的可视化界面与集群状态监控
- 刘汝佳训练指南——数论专题知识点总结:
- Win32项目关于MessageBox参数的详细说明
- 设计模式---4(抽象工厂模式的概念,产品组和产品等级的概念,抽象工厂模式的实现)
- 每日一题:leetcode190.颠倒二进制位
- Ubuntu修改/删除主目录下的中文文件夹
- 1026 程序运行时间 (15 分
- linux下查看系统socket读写缓冲区
- java注解编程_Java注解编程原理
- mysql myisam 锁机制_MySQL--MyISAM之锁机制