• ecshop类的解析1


    前面写了一下我理解的ecshop数据库表,现在看一下我理解的ecshop的类。

    ecshop类,ECS是一个基础类,它的取得域名的函数我感觉是比较不错的。

    function get_domain()
    {
    /* 协议 */
    $protocol = $this->http();

    /* 域名或IP地址 */
    if (isset($_SERVER['HTTP_X_FORWARDED_HOST']))
    {
    $host = $_SERVER['HTTP_X_FORWARDED_HOST'];
    }
    elseif (isset($_SERVER['HTTP_HOST']))
    {
    $host = $_SERVER['HTTP_HOST'];
    }
    else
    {
    /* 端口 */
    if (isset($_SERVER['SERVER_PORT']))
    {
    $port = ':' . $_SERVER['SERVER_PORT'];

    if ((':80' == $port && 'http://' == $protocol) || (':443' == $port && 'https://' == $protocol))
    {
    $port = '';
    }
    }
    else
    {
    $port = '';
    }

    if (isset($_SERVER['SERVER_NAME']))
    {
    $host = $_SERVER['SERVER_NAME'] . $port;
    }
    elseif (isset($_SERVER['SERVER_ADDR']))
    {
    $host = $_SERVER['SERVER_ADDR'] . $port;
    }
    }

    return $protocol . $host;
    }

    //判断http或者https协议的函数

    function http()
    {
    return (isset($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'off')) ? 'https://' : 'http://';
    }

    简体繁体中文,big5,utf8字符替换类iconv,这也是ecshop能够兼容低版本php,字符不出现乱码的主要类。

    var $config = array(
    'codetable_dir' => '', // 存放各种语言互换表的目录
    'source_lang' => '', // 字符的原编码
    'target_lang' => '', // 转换后的编码
    'GBtoBIG5_table' => 'gb-big5.table', // 简体中文转换为繁体中文的对照表
    'BIG5toGB_table' => 'big5-gb.table', // 繁体中文转换为简体中文的对照表
    'GBtoUTF8_table' => 'gb_utf8.php', // 简体中文转换为UTF-8的对照表
    'BIG5toUTF8_table' => 'big5_utf8.php' // 繁体中文转换为UTF-8的对照表
    );

    初始化变量。

     function Convert($source_lang, $target_lang, $source_string = '')

    Convert函数是这个类的主要函数,主要是因为调用了下面多个子函数,具体的可以看这个类,以后如果要用低版本的php,可以用这个类来补充mbstring扩展(用到这个类的时候,需要辅助文件支持,就是ecshop的codetable文件夹里面的文件)。

  • 相关阅读:
    mysql8.0.21下载安装详细教程
    ORDER BY 高级用法之CASE WHEN继续研究
    前端实用在线小工具推荐
    从nodejs的AES加密解密之后文件大小不一致的问题谈谈AES加密中的补位
    纯前端如何实现多语言切换
    [React] React Virtual
    [Kotlin] Compare Functional Programming in Java and Kotlin
    [Kotlin] Catch Error in Java
    [Angular] Saving draft form into Cookies
    [Angular] Data Resolver
  • 原文地址:https://www.cnblogs.com/liuwenbohhh/p/4693225.html
Copyright © 2020-2023  润新知