spl_autoload_register和__autoload是用来自动加载类的,不用每次都require,include这样搞. 先说__autoload的用法, 在同级目录建立2个文件,一个index.php,一个是test.php,内容. test.php<?php class Test{ function sayhi(){ echo "hi"; } } ?> index.php<?php //第一种 function __autoload($class){…
一.ajax例子:ajaxReturn("ok","eval")->thinkphp中ajax的返回值的方法,返回参数为ok,返回类型为eval(字符串) 1.MainController.class.php <?php namespace Ajaxtest\Controller; use Think\Controller; class MainController extends Controller { public function zhuye()…
spl_autoload_register函数是实现自动加载未定义类功能的的重要方法,所谓的自动加载意思就是 我们的new 一个类的时候必须先include或者require的类文件,如果没有include或者require,则会报错.那这样我们就必须在文件头部写上许多include或require文件,非常麻烦,为了使得没有include或者require类的时候也正常new一个类,所以有了自动加载的概念,也就是说new一个类之前不用事先包含类文件也可以正常new,这样我们的文件头部就不用包含…
$autoload_func = function($class) { $class = str_replace('\\', '/', $class); $file_name = dirname(__FILE__).'/../'.$class.'.php'; include $file_name; }; spl_autoload_register($autoload_func); 在项目入口文件index.php里调用该方法,然后在其他程序页面就可以use了,然后就可以自动加载所需要的类…
含义:将函数注册到SPL __autoload函数栈中.如果该栈中的函数尚未激活,则激活它们. 先看__autoload 函数 printit.class.php <?php class PRINTIT { function doPrint() { echo 'hello world'; } } ?> index.php <? function __autoload( $class ) { $file = $class . '.class.php'; if ( is_file($file…
<?php /*function __autoload($class){ require("./class/".$class.".php"); }*/ function auto($class){ require("./class/".$class.".php"); } function aa($class){ require("./class2/".$class.".php");…
spl_autoload_register 注册给定的函数作为 __autoload 的实现 bool spl_autoload_register ([ callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]] ) 当实例化类对象的时候,如果在当前文件找不到对应的类,那么会调用spl_autoload_register 给定的自动装载函数,自动装载函数结合is_file/file_exists,r…
function aotuman($class){  include('./'.$class.'.class.php'); } spl_autoload_register('automan');  //把aotuman这个函数注册成一个自动加载函数     spl_autoload_register 注册的函数优先级比__autoload的优先级高.      …
一.前言 使用php已有好几年,laravel的使用也是有好长时间,但是一直对于框架源码的理解不深,原因很多,归根到底还是php基础不扎实,所以源码看起来也比较吃力.最近有时间,所以开启第5.6遍的框架源码探索之旅,前面几次都是看了一些就放弃,希望这次能够看完.每一次看源码都会有新的收获,因为框架用到的一些设计模式.高级特性,在平时的业务需求里面根本用不到,或者说项目前期就把需要用到高级特性的地方都做好了,业务需求也就用到mvc. 本文及后续的“laravel框架源码分析“文章都是基于larav…
在了解这个函数之前先来看另一个函数:__autoload. 一.__autoload 这是一个自动加载函数,在PHP5中,当我们实例化一个未定义的类时,就会触发此函数.看下面例子: printit.class.php <?php class PRINTIT { function doPrint() { echo 'hello world'; } } ?> index.php <? function __autoload( $class ) { $file = $class . '.cla…