You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
yanzong/extend/suning-sdk-php/SuningSdk.php

86 lines
2.1 KiB

8 months ago
<?php
/**
* 苏宁开放平台接口-入口文件
*
* @author jerry(14033184@cnsuning.com)
* @date 2014-05-21
*/
// 限制最大执行时间
if (!ini_get('safe_mode')) {
set_time_limit(10);
}
// 设置时区
date_default_timezone_set('Asia/Shanghai');
// 设置错误等级
//error_reporting(E_ERROR | E_WARNING | E_PARSE);
error_reporting(-1);
// 包含配置文件
include_once(dirname(__FILE__).'/config/config.php');
class SuningSdk
{
protected static $autoPath = array();
/**
* 注册自动加载类机制
*/
public static function register()
{
// 避免其他自动加载函数加载异常,优先注册当前机制
$func = spl_autoload_functions();
if ($func) {
foreach ($func as $f)
spl_autoload_unregister($f);
}
spl_autoload_register(array(__CLASS__, 'autoload'));
if ($func) {
foreach ($func as $f)
spl_autoload_register($f);
}
// 自动包含地址
$dir = dirname(__FILE__);
self::$autoPath = array(
$dir,
$dir.DIRECTORY_SEPARATOR.'request',
$dir.DIRECTORY_SEPARATOR.'request'.DIRECTORY_SEPARATOR
);
self::readFileFromDir($dir.DIRECTORY_SEPARATOR.'request');
}
static function readFileFromDir($dir) {
if (!is_dir($dir)) {
return false;
}
$handle = opendir($dir);
while (($file = readdir($handle)) !== false) {
if ($file == "." || $file == "..") {
continue;
}
$file = $dir . DIRECTORY_SEPARATOR . $file;
//如果是文件就打印出来,否则递归调用
if (is_dir($file)) {
array_push(self::$autoPath,$file);
self::readFileFromDir($file);
}
}
}
public static function autoload($className)
{
foreach (self::$autoPath as $path) {
$f = $path.DIRECTORY_SEPARATOR.$className.'.php';
if (file_exists($f)) {
include_once $f;
return;
}
}
}
}
SuningSdk::register();
?>