关于PHP的自动加载

PHP可以通过自动加载的方式帮助我们加载文件


假设目录结构如下:

test (工程名称)

   --app

         --QueryPhone.php

  index.php


■不使用自动加载时

QueryPhone.php

<?php

class QueryPhone {
	
	public static function query() {

		echo 'query phone';

	}

}

?>


index.php

<?php

require_once 'app/QueryPhone.php';
QueryPhone::query();

?>


为了使用QueryPhone中的函数,需要在文件头部通过require_once引入需要的文件。如果依赖多个文件,则要引入多个。


■使用自动加载

假设目录结构如下:

test (工程名称)

   --app

         --QueryPhone.php

  index.php

  autoload.php  (为了使用自动加载,新追加的文件)


QueryPhone.php(追加了命名空间)

<?php

namespace app;

class QueryPhone {
	
	public static function query() {

		echo 'query phone';

	}

}

?>

index.php(只引入autoload.php就可以了,以后即使再追加其他的依赖,仅此一个也够了)

<?php

require_once 'autoload.php';
app\QueryPhone::query();

?>

autoload.php

<?php

class autoload {

	public static function load($className) {

		$fileName = sprintf('%s.php', str_replace('\\', '/', $className));
		if (is_file($fileName)) {
			require_once $fileName;
		}
	}

}

spl_autoload_register(['autoload', 'load']);

?>





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值