php spl自动加载类,php – SPL自动加载最佳实践

在我在服务器端的include_path中,我在’/usr/share / pear /’中引用了一个pear目录.在我的应用程序中,我包含来自公共库的文件,位于’/usr/share / pear / library /’中,带有require_once’library / file.php’.

我最近开始使用spl自动加载器,我注意到在加载器函数中你必须确定包含文件的逻辑.我这样做的第一种方法是尝试包含一个文件并用@来抑制它以查看它是否会失败,例如@include’library / file.php’但是我认为主要是因为我读了很多关于@是一个不好的做法我决定通过PATH_SEPARATOR爆炸get_include_path并看看目录是否是我希望它来自己手动完成工作,然后做一个file_exists并包含它.

像这样:

function classLoader( $class ) {

$paths = explode( PATH_SEPARATOR, get_include_path() );

$file = SITE_PATH . 'classes' . DS . $class . '.Class.php';

if ( file_exists( $file) == false )

{

$exists = false;

foreach ( $paths as $path )

{

$tmp = $path . DS . 'library' . DS . 'classes' . DS . $class . '.Class.php';

if ( file_exists ( $tmp ) )

{

$exists = true;

$file = $tmp;

}

}

if ( !$exists ) { return false; }

}

include $file;

}

spl_autoload_register('classLoader');

我走错了路吗?我应该刚刚完成了@include业务,还是我在正确的方向上做了一些事情?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值