PHP标准库中常用函数的介绍
spl_autoload_extensions()添加spl_autoload()加载的文件扩展名
的spl_autoload_register()注册函数在SPL __autoload函数堆栈。
复制代码代码如下所示:
/ * * / PHP测试。
< PHP
类试验
{
}
/ * test2 .lib。PHP * /
< PHP
一个班
{
}
测试。
< PHP
设置加载文件扩展名的类
spl_autoload_extensions(。PHP。Inc.php。类。PHP Lib. PHP );
/ / include_path,加载将寻找在这些路径的文件,可以通过path_separator添加多个路径
set_include_path(get_include_path()。path_separator。'libs );
/ /不提供参数,默认实现的功能是spl_autoload()
spl_autoload_register();
1美元=新test1();
TEST2 =新test2(美元);
spl_autoload()是__autoload默认实现(),从而将加载文件(。PHP /公司)为include_path
复制代码代码如下所示:
/ * * / PHP测试。
< PHP
类试验
{
}
测试。
< PHP
set_include_path(get_include_path()。path_separator。'libs );
spl_autoload('test1);
1美元=新test1();
spl_autoload_call()调用所有spl_autoload_register注册功能加载文件
复制代码代码如下所示:
/ * * / PHP测试。
< PHP
类测试
{
公共职能作用:取文件名()
{
echo'test1 PHP的;
}
}
/ * test2 .lib。PHP * /
< PHP
类测试
{
公共职能作用:取文件名()
{
echo'test2 .lib。php;
}
}
测试。
< PHP
功能机($ className)
{
如果($ = = 'test1类名){
需要__dir__。' / test1。php;
}
如果($ = = 'test2类名){
需要__dir__。' / test2 .lib。php;
}
}
spl_autoload_register('loader);
spl_autoload_call('test2);
新测试();
为测试->作用:取文件名(); / / test2.lib.php
其他SPL函数:
class_implements -返回指定的类实现的所有接口。
class_parents -返回指定的类的父类。
class_uses返回由给定的类使用的特点
iterator_apply调用用户定义的函数中的每个元素的迭代器
在计算iterator_count迭代器的元素个数
iterator_to_array拷贝在迭代器的元素的数组
spl_autoload_functions返回所有注册__autoload()函数
spl_autoload_unregister -注销注册__autoload()函数
spl_classes返回所有可用的SPL类
spl_object_hash -返回指定对象的哈希ID
例如,与迭代器相关的函数使用:
复制代码代码如下所示:
$迭代器=新(ArrayIterator(array'recipe= > 'pancakes ','egg,挤奶,'flour '));
print_r(iterator_to_array($迭代器)); / /迭代器元素数组
回声iterator_count($迭代器); / /计算元素的迭代器的数量
print_r(iterator_apply($迭代器,'print_item,阵列($迭代器))); / /每个迭代器调用自定义函数
功能print_item(迭代器iterator美元)
{
回声strtoupper($迭代器)电流(;
返回true;
}