• ecshop的特点,持续加新


    一、目录文件结构

      入口文件index.php,define('IN_ECS', true); 只有为true时才可以进入。

         首先加入init.php,在这个文件里:

    1. @ini_set('memory_limit',          '64M');  初始化一些系统参数
    2. 加载数据库等相关配置require(ROOT_PATH . 'data/config.php'); 这里还包括了:后台路径ADMIN_PATH,字符编码EC_CHARSET等
    3. 由于我们现在的php版本普遍大于5.5 ,所以会用一些新函数(新函数不仅用于这个文件,新函数的作用是使编程更加简单),如data_default_timezone_set();
    4. 定义了当前文件位置常量PHP_SELF,注意,init.php是index.php通过require文件包含进来的,所以它的相对文件位置也是和index.php文件位置一致
    5. 加载文件:
      • inc_constant.php这个文件分类写好了关于各个模块(如图片处理,商品属性类等)的相关常量
      •  cls_ecshop.php获得数据库及表名功能和获得一些域名地址及md5加密密码功能的函数
      • cls_error.php用户级错误处理类, lib_base.php 基础函数库, lib_common.php 有关数据库的通用函数
      • require(ROOT_PATH . 'includes/lib_main.php');   #前台公用函数库
      • lib_insert.php #调用动态动态内容的函数库
      • lib_goods.php #商品相关函数库,
      • lib_article.php #文章及文章分类相关函数库等功能文件
      • 还有cls_mysql.php,cls_session.php,cls_smarty.php

              总结: includes几乎包含了前台的所有功能,它里面的cls_代表的是类文件,lib_代表了函数库,inc_表示常量文件,理详细的lib_base表示了基础函数,lib_common包含了跟数据处理相关的基础函数,lib_main包含了前台公用函数库

    1. 同时,init.php还加载了语言包 require(ROOT_PATH . 'languages/' . $_CFG['lang'] . '/common.php'); (三种言:简体中,繁体中,英语)
    2. $GLOBALS['_CFG']这个系统变量是在llip_common.php的load_config()方法加载的,缓存于temp/static_caches/shop_config.php文件中,如需要更改,先更改数据库esc_shop_config,再删除文件,刷新首页,即可。
    3. 当在init.php中初始化cls_mysql.php的mysql类时,只是加载了连接数据库所需要的基本参数,并不连接,这样很好
    4. register_shutdown_function(array(&$this, 'close_session'));  会在程序离开的时候更新session,并随机删除表中过期的session
  • 相关阅读:
    51nod 237 最大公约数之和 V3 杜教筛
    luogu P4213 【模板】杜教筛(Sum)
    BZOJ 3527: [Zjoi2014]力 FFT
    凸多边形 HRBUST
    luogu P1354 房间最短路问题 计算几何_Floyd_线段交
    几何基础
    BZOJ 1862: [Zjoi2006]GameZ游戏排名系统 Hash + Splay
    BZOJ3529: [Sdoi2014]数表 莫比乌斯反演_树状数组
    BZOJ 2820: YY的GCD 莫比乌斯反演 + 数学推导 + 线性筛
    迭代器,三元表达式,列表生成式,字典生成式,生成器,递归(没深入理解)
  • 原文地址:https://www.cnblogs.com/yubolin/p/5972012.html
Copyright © 2020-2023  润新知