ShopNC学习笔记

一、目录结构:
/ 根目录
/admin 后台目录(目录名可更改)
/api  API文件目录,存放ucenter、PHPWind、QQ互联、新浪微博、支付方式(支付宝,财付通、预存款等)和商品等API文件
/cache 缓存文件目录
/control 控制器目录(C)
/data 常用公共数据(地区、发言表情等)
/framework 核心框架目录
/install 安装程序目录
/language 语言包目录
/model 模型文件目录(M)
/resource 资源目录(字体、JS文件、HTML编辑器、验证码用字体图片、二维码依赖文件等)
/templates 模板文件目录,视图文件(V)
/templdate/default 默认的模板风格
/upload 附件目录(商品图、店铺认证、会员头像、促销活动图等上传的所有图片)
ShopNC商城系统采用MVC模式,控制器文件位于control目录,模型文件位于model目录,视图文件位于templates目录,系统框架依据actop参数(GET/POST过来的)完成控制器调度。
控制器类文件名一般为业务名称,类名称一般为 “业务名称+Control”,例如品牌控制器(control/brand.php)类名为brandControl
模型类文件名一般为“表名称+.model”,类名称“表名+Model”,例如广告模型(de.php)类名称为advModel
跟据商城业务需要,系统内置三个控制器父级类,BaseHomeControl、BaseMemberControl和BaseMemberStoreControl分别适用于前台展示、会员中心、店铺中心三类控制器。
代码001
控制器:
Language::read('home_brand_index');
      //使用模型获得品牌列表
      $model = Model();
              $brand_list = $model->table('brand')->select();
              //向模板抛出内容
              Tpl::output('brand_list',$brand_list);
              //设置页面标题
              Tpl::output('html_title',Language::get('brand_index_brand_list'));
              //输出SEO设置信息
              Model('seo')->type('brand')->show();
              //调用模板展示
              Tpl::showpage('brand');
代码001
模板代码view:
<?php defined('InShopNC') or exit('Access Invalid!');?>
<?php include template('home/cur_local');?>
<h2><b><?php echo $lang['brand_index_brand_list'];?></b></h2>
<?php if(is_array($output['brand_list'])){?>
<?php foreach($output['brand_list'] as $key=>$val){?>
<div class="wrap">
        <ul>
            <li>
            <a href="<?php echo ncUrl(array('act'=>'brand','op'=>'list','brand'=>$brand['brand_id']));?>" >
            <span><img src="<?php echo ATTACH_BRAND.'/'.$brand['brand_pic'];?>" alt="<?php echo $brand['brand_name'];?>" /></span>
            </a>
            </li>
        </ul> </div>
php 数组字符串转数组
<?php }?>
<?php }?>
二、核心文件及常量介绍:
ShopNC商城程序的框架文件主要由类文件和函数文件组成。
系统类库主要存放在framework下的libraries、cache、core和tpl目录中,librarites存放的是一些类库,cache下是存放多种缓存驱动类,core下存放的是核心基类和模型处理类,tpl只存放视图类Tpl。
1)主要类文件及简要说明
libraries/email.php                邮件发送类
libraries/ftp.php                    ftp处理类
libraries/gdimage.php            水印类
libraries/json.php                  json处理类
libraries/language.php          语言包处理类
libraries/log.php                    日志类
libraries/page.php                  分页类
libraries/resizeimage.php      图片裁切类
libraries/seccode.php            验证码处理类
libraries/security.php              字符过滤类
libraries/sphinx.php              sphinx全文检索类
libraries/upload.php              上传类
libraries/validate.php            php后端验证类
cache/ cache.php                    缓存统一处理类,它是每种缓存类的操作入口
cache/cache.file.php              文件缓存类
cache/ cache.apc.php            apc缓存类
ache.php        xcache缓存类
ache.php              memcache缓存类
cache/ cache.eaccelerator.php    eaccelerator缓存类
cache/cache.table.php                  table缓存类
      core/model.php                      模型类
      core/db.php                        数据库操作中间层,界于模型和数据驱动中间的中间处理类
      db/mysql.php                        mysql扩展MySQL数据库驱动

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。