Rumah > pembangunan bahagian belakang > tutorial php > PHP中类自动加载实例解析

PHP中类自动加载实例解析

小云云
Lepaskan: 2023-03-22 20:26:02
asal
1327 orang telah melayarinya

在php中需要用到另一个文件中的php代码是时,可以用include、include_once、require、require_once去引入类文件。其中require和include的区别是语法严格度的区别:当引入的文件发生错误时,使用include的语法会报错,但其后面的语句会还会继续执行。而require在发生错误后则会停止执行。

include和include_once的的区别在于:include在使用时,存在一次就会引入一次,而include_once当引入相同的文件时则会仅仅引入一次。

一般在使用中由于可能会包含大量的引入文件,这时就需要写大量的include/require语句。这样极为不便,针对这种情况,可以使用自动加载。

    1.使用__autoload()魔术函数:

        当程序“需要一个类“时,系统会自动调用该函数,该函数需要 我们自己定义:

function __autoload($className){
	require "需要引入文件的路径(不包含文件名)".$className.".php";
}
Salin selepas log masuk

变量$className是在自动调用该函数是传入的类名。

2.使用spl_autoload_register()函数:

用它声明多个可以用来代替__autoload()函数,

spl_autoload_register("函数名1");

spl_autoload_register("函数名2");............这样的作用其实是和__autoload()的作用一样;

//此处声明三个自动加载函数名,
spl_autoload_register('auto1');
spl_autoload_register('auto2');
spl_autoload_register('auto2');
//接下来需要定义所声明的函数。
function auto1($className){
	$file="文件路径".$className.".php";
	if(file_exists($file)){
		require $file;
	}
}
function auto2($className){
	$file="文件路径".$className.".php";
	if(file_exists($file)){
		require $file;
	}
}
function auto2($className){
	$file="文件路径".$className.".php";
	if(file_exists($file)){
		require $file;
	}
}
Salin selepas log masuk
在使用该方法时,需要类时,会按照声明的顺序先从auto1()调用,如果有的话就引入,如果不存在,就到下一个函数调用......
Salin selepas log masuk

    spl_autoload_register()与__autoload()的区别在于,spl_autoload_register()能够从不同文件路径中引入不同的文件。并且当文件中注册了spl_autoload_register()后方法__autoload()自动无效。

相关推荐:

PHP实现自动加载功能

PHP实现路由和类自动加载

PHP实现自动加载相关函数

Atas ialah kandungan terperinci PHP中类自动加载实例解析. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan