yershop商城系统开发(一)——thinkphp和onethink简析

本文介绍了yershop商城系统的目录结构,重点分析了Application目录,包括Common、Home等子目录的作用。讲解了在Thinkphp和Onethink框架下进行二次开发时涉及的知识,如配置文件、控制器、视图模板的关联以及母版页的使用。还涵盖了常见操作,如后台给前台传参、在前台调用方法的技巧。

yershop商城系统是基于thinkphp和onethink开发而来,此系列将详细分析我在二次开发中所面临的种种问题。
(我使用的yershop版本较早,大概是去年5月份左右发布的。支付宝后台配置没有用,商品不支持多规格。本次介绍如果讲到这方面的问题,没有的亲请忽略。)
本篇简要分析日常在二次开发中涉及到的thinkphp和onethink知识。

yershop目录结构了解

这里写图片描述
此为我的项目中在zendstudio中截图
Addons:扩展插件目录,里面包含了第三方登陆插件、编辑器插件等;
Application:项目目录,之后详细介绍
Data:数据库备份目录
Public:js、css、image网站图片资源保存
Uploads:上传图片、文件目录(SAE环境下存储于storage中)
Runtime:运行中动态生成的程序(在检查标签语法出错时很有用,文件可删除)
Thinkphp:Thinkphp包,yershop系统或onethink在开发中均对Thinkphp包有改动,勿直接换该文件
这里写图片描述

Application目录

Common:公共配置,进入应用程序后,首先加载此文件夹内容;
User:用户模块,提供用户注册之类的核心方法;
Install:安装模块,安装异常时可在此检查代码;
Home:PC网站模块;
Wap:手机网站模块;(个人开发,免费下载包无)
Wei:嫁接weiphp2.0到商城所用模块(个人自定义模块,免费下载包无)

Common目录

这里写图片描述
此处重点关注 Common文件夹/function.phpConf文件夹/config.php 两个文件
function.php为全局方法,Home、Wap、自定义模块等其它模块 均可调用其内方法;
config.php 为全局配置文件,需要注意的是数据库连接以及User模块下同名文件的数据库连接。

问:PC站和手机站如何在输入主域名后直接访问对应模块(Home or Wap)?
答: 在config.php文件开头根据访问源指定要加载的模块,代码如下

if(!ismobile()){
    $module = 'Home';
}else{
    $module = 'Wap';
 }
return array(
    /* 模块相关配置 */
    'AUTOLOAD_NAMESPACE' => array('Addons' => ONETHINK_ADDON_PATH), //扩展模块列表
    'DEFAULT_MODULE'     => $module,
    ...

ismobile()方法可使用function.php里已有的判断说否为手机方法,此处贴代码:

function ismobile() {
   
   
    // 如果有HTTP_X_WAP_PROFILE则一定是移动设备
    if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))
        return true;

    //此条摘自TPM智能切换模板引擎,适合TPM开发
    if(isset ($_SERVER['HTTP_CLIENT']) &&'PhoneClient'==$_SERVER['HTTP_CLIENT'])
        return true;
    //如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息
    if (isset ($_SERVER['HTTP_VIA']))
        //找不到为flase,否则为true
        return stristr($_SERVER['HTTP_VIA'], 'wap') ? true : false;
    //判断手机发送的客户端标志,兼容性有待提高
    if (isset ($_SERVER['HTTP_USER_AGENT'])) {
        $clientkeywords = array(
                'nokia','sony','ericsson','mot','samsung','htc','sgh','lg','sharp','sie-','philips','panasonic','alcatel',
yerhop是新型的电子商务平台系统,适合企业及个人快速构建个性化网上商店。系统是基于thinkphp框架开发的,使系统更加的安全、快捷、稳定、高性能。 yershop是基于thinkphp5.0.9,具有建站便捷、扩展丰富、二次开发灵活,以及支持云服务的特点,适合企业及个人快速构建个性化网上商店。 yershop采用模块化的架构设计思想,对目录结构规范做了调整,可以支持多模块应用的创建,让应用的扩展更加方便,基于MVC(Model-View-Controller,模型-视图-控制器)模式,并且均支持多层(multi-Layer)设计,全面采用命名空间方式定义加载类库文件,有效的解决多个模块之间的冲突问题,并且实现了更加高效的类库自动加载机制 环境需求:PHP >=5.3 mysql 5.0及以上 安装方法 :您的安装路径/instal.php yershop开源网店系统产品特性 1、强大的框架支持 yershop基于thinkphp框架开发,使系统更加高效、稳定、快捷、安全。 2、强大的后台定制化管理 后台管理,通过角色进行权限分配,权限可以控制每个执行动作,时时性权限控制可及时控制角色的权限,即使用户在线,亦可瞬间使角色增加减少权限且即使生效,最大程序的保护程序的安全。 3、基于模型化的产品发布与特有的规格设计 通过对产品进行模型化设计,更加方便快捷的发布产品,自由式的规格设计,可以为特定的产品方便的选择特定的规格,规格为高效的筛选做了特殊的优化设计。 4、丰富的促销方式 yershop提供了积分、代金券、单品促销(直接打折、减价优惠、固定金额出售、买就赠代金券、买M件送N件)、订单促销(满额打折、满额优惠金额、满额送倍数积分、满额送优惠卷、满额免运费)、捆绑促销、团购、限时抢购,等多种促销活动,更灵活的订单促销,在满足的条件下完全由用户选择自己的促销。 5、强大商品检索 灵活多变的规格,需要有更好的设计才能提供高效的检索,yershop高级商品筛选功能,支持品牌、分类属性、规格、价格区间多种条件组合筛选商品,商品列表可按多种方式排序,商品检索更加高效精准。 6、灵活强大的区域式邮费模板设计 自定义区域划分,更方便自己的邮费模板设定,快递公司交由商家处理,减少用户订单确认操作,更加附时代需求。 7、智能强大的编译模板设计 力求把标签做到最简,输入更少的字母来完成更强大的功能,丰富的标签设计为您的进开发节约更多时间,有效提高您的二次开发,只有在模板修改后,系统才重新编译模板,节约资源提高效率。 8、报错与调试机制 系统报错机制,在没有debug的情况下,也有更好的报错提示,为您的二次开发提供有效的帮助,特有的debug标签,让能更清楚当前情况下,内存情况,运行时间,变量情况,及可访问变量,文件加载数量等信息,有利于你程序的开发与优化。 9、化繁为简 力求使系统更加简洁,操作更加方便,去掉不必要的操作,开网店成为件简单的事。 10、灵活的主题与强大的扩展机制 更加合适的安排主题的构成,套主题可以只针对某些文件进行特殊定制,而不用再复制那些无关的文件,使主题包更加的小巧。强大的扩展机制,可以让您更简单的随时控制整个系统,每个控制器,与每个动作。 11、源码开放 源码开源,方便了解系统的每个细节与设计理念,方便用户根据自己的情况,更好的扩展与开发新的功能。方便了解系统的每个细节与设计理念,方便用户根据自己的情况,更好的扩展与开发新的功能。 yershop开源网店系统基本功能 后台功能 商品中心:商品发布,商品分类,商品模板,商品规格,商品品牌 订单中心:商品订单、收款单、发货单、退款单、快递单模板、发货点管理 客户中心:会员管理、会员等级管理、提现申请、资金日志、商品评价、商品咨询、信息管理、到货通知 营销推广:单品促销、订单促销、捆绑销售、抢购、团购、代金券模板、代金券管理 统计报表:订单统计、热销统计、地图统计、会员分布统计 内容管理:文章管理、文章分类管理、帮助管理、帮助分类管理、广告管理、标签管理、导航管理 系统设置:管理首页系统信息、主题设置、站点设置、其它配制、邮箱配制、信息模板、支付方式、区域划分、地区管理、运费模板、快递公司、管理员、角色管理、权限列表、清除缓存、数据库备份、数据库还原 前台功能 商品展示、商品检索、购物车、评价留言、结算中心、商品咨询、商品评价、限时抢购、团购、我的订单、退款申请、我的关注、个人资料、收货地址、我的积分、账户资金、我的代金券、密码修改、我的消息、密码找回 yershop技术优势 1、智能型编译系统 系统根据用户的编辑,智能的对系统进行编译,使系统的运行速度大的提高,同时也大大的提高的用户的开发效率。 2、缓存技术 对于系统用到的复杂与高难度的运算,系统进行了缓存技术,基于Tiny框架的设计,用户同时可以扩展自己的各种缓存技术而不用修改程序。 3、强大的控制器 基于MVC的技术,在控制器的设计与架构上,有很多先进的领先技术,各控制器之间的跳转,传值都做到的完善的处理,对于多控制器之间的想到协作,提供的很好的支持。 4、极简的标签设计 标签是模板开发最常用且使用频次最高的部分,系统在设计上考虑了每点可以简化的设计,那怕是个标点的省略,让你的二次开发书写更加的高效。 5、灵活的插件机制 插件开发个系统必不可少的部分,个很好的插件机制是非常重要的,TinyShop的插件开发设计的特别的简单易用,可以是只是视图的Widget,也可以是功能强大的逻辑处理,同样也可以是两都的完善结合,插件的设计在模板中调用极为方便。 6、高安全性 用户的数据是不可以信任的,系统对于用户输入的数据进行严格的处理与过滤,保证数据的安全性,基于底层安全规范架构,由于底层架构的安全规范设计,能够有效地保护您的网站网络用户免受恶意软件的侵害,确保网络用户数据免遭破坏。 7、身份验证授权 具有内置的身份验证支持。它也支持通过分层的基于角色的访问控制(RBAC)的授权,多角色权限控制,更加增强系统的安全性。 8、多层次主题设计 开发主题更加的容易,个主题只需设计需要修改的部分,重复的部分复制也不需要,使主题包更加的简洁。考虑到多终端的概念,用户可以对不同终端设计进行主题设计,系统可以按照不同终端进行不同主题切换。 9、错误处理与日志记录 系统对于错误处理,进行了强大的设计,即使用户没有安装xdebug,系统也会对错误进行很好的展示,方便用户进行错误处理,特别是在用户开发设计时特别重要,特有的debug标签,在开发中更加显的智能方便。为开发者提交更好的设计功能。日志的记录功能方便用户了解,系统每次出现的不规范与bug的详细记录,方便开发者优化。 10、完全面向对象设计 坚持严格的面向对象编程范式,它定义的类层次结构允许最大的可重用性定制。  yershop开源网店系统前台截图 yershop开源网店系统后台截图 相关阅读 同类推荐:商城系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值