yii2ecommerce 手册

框架手册

一:环境配置:

Nginx:

Php5.4以上

Mysql

Mongodb

Redis

 

1.1 php

配置注意:php需要安装mongo扩展,redis扩展,imap扩展,mysql扩展

extension=mongo.so

extension=imap.so

extension=pdo_mysql.so

extension=redis.so

Mongo命令的符号更改为问号:mongo.cmd=?

memory_limit = 256M  缓存的最小设置。


Php apc缓存的安装,用来缓存php的文件,因为有大量的文件加载,使用缓存后,会大大提升php的速度。

1.2 mongodb

Mongodb安装完成后,对mongdb的设置参考:

http://blog.csdn.net/terry_water/article/details/44487757

框架中Mongodb的配置文件为:common\config\main-local.php

1.3 redis

对于redis,系统已经按照默认的端口设置好:6379,无需配置

1.4 mysql

Mysql的配置文件:common\config\main-local.php

 

二:系统结构:

本系统分为三部分:frontend,backend,console

分别为前端,后台,控制台(命令脚本)

基础配置为common,上面的三个部分的配置继承common

1.common配置

1.1 common MVC基础类:

 \common\block, \common\models, \common\controllers,

注:view不需要处理数据,因此没有基础类

Block是一个中间处理数据层,models是一个数据抽象层,controllers是控制器,处理数据在block层,block相当于肌肉,灵感来自magento的设计,这里处理从数据库过来的数据处理,以及一些其他处理,最终结果返回controller,然后传递给view。

1.2 系统重写类:

 \common\web\Request.php, (重写:\yii\web\Request)

 \common\models\core\mongodb\CMconnection.php

(重写yii\mongodb\Connection)

 \common\models\core\mongodb\CMdatabase.php 

(重写yii\mongodb\Database)


重写这些yii2基础类,是为了本框架的需要,其中requese重写,主要针对url重写

另外两个mongo的是为了本框架的对mongodb的字段类型转换而进行了方法的添加和覆盖。

1.3 系统核心功能类

 \common\models\core\*    (子文件,非子文件夹下面的文件)

里面包括cookie,session,email,image,cart,order,roles,store,translate,url,payment,message,language,mongodb,request,shipping,cache,customer,currency,country,config,address,Help,log,PAYPAL-NVP,store,等一些独立性高,穿插性强的功能单位的独立处理,使用静态方法调用的方式,

在使用前通过use引入文件,然后通过静态方法的方式调用

1.4 mongdob数据模型类

由于mongodb没有数据格式,因此在前台传入的数据,需要在传入mongodb的时候做格式转换,因此在mongodb中建立一个collection,需要做类型配置,文件文件的地址:

common\mongo\*

Example: \common\mongo\catalog_product.php

框架中Mongodb的操作步骤参考:

http://blog.csdn.net/terry_water/article/details/44489521

1.5 mysql active_record 模型类:

\common\models\*   (不包含core文件夹)

譬如:

Use common\models\checkout\Salesorder;

使用后,通过 Saleorder:: 使用

常用语法参考地址:http://blog.csdn.net/terry_water/article/details/44489041

1.6 \common\createdb

里面包含了myslql创建数据库的sql文件,这里相当于doc,非必要,但是为了维护,把创建表的sql写这里,由于mysql的表少,因此没有做同步更新。

1.7  \common\mail

此处是mail模板的地方,里面包含各个语言的mail的模板

1.8 \common\config

里面是全站的基础配置,前台,后台,common的配置都需要从这里共用,当然,frontend,backend,common也有自己的私有配置。

Bootstrap.php 这个文件设置的是强制加载的部分,目前这类里面只有

Yii::setAlias('common', dirname(__DIR__));

Yii::setAlias('frontend', dirname(dirname(__DIR__)) . '/frontend');

Yii::setAlias('backend', dirname(dirname(__DIR__)) . '/backend');

Yii::setAlias('console', dirname(dirname(__DIR__)) . '/console');


因此可以在这里设置yii的别名,如果想添加其他,可以在这里添加。

Main.php

对时区设置

模块:url,cache,redis,i18n(语言),mailer(发送邮件机制),log等

Main-local.php

模块:mongodb,mysql的配置

Params.php 

一些常用参数的配置

Params-local.php

后台和图片地址的配置

?图片地址为什么不用当前域名生成,而在这里定义?

因为图片可以用到单独的图片服务器,域名独立出来,因为单独配置

\common\config\custom\*

里面是一些系统的配置,通过名字进行区分。

2.Frontend部分

网站的前段:包括首页,分类,产品,购物车,支付,客户中心等页面

Block,controller,models基类都是从common集成而来

Config包含common的config

 

3.backend部分

后台的模板采用的是:j-ui框架

这部分主要是对数据的编辑,主要有:

产品数据,分类数据,产品评论,产品搜索,tag,sitemap,订单,客户信息,cms,博客,系统配置等。

4.Console 控制台

这个部分主要是为了跑脚本,脚本的控制通过shell

\shell\read.txt,脚本都在这个文件做了注释,譬如:

Sh processFullTextProductSearch.sh

打开这个sh文件

 

variable=`../yii processfulltextproductsearch/getpagetotal`

echo "There are $variable pages to process"

echo "##############ALL BEGINING###############";

for (( i=1; i<=$variable; i++ ))

do

#   /usr/bin/php -f emailSendCart.php process $i

   ../yii processfulltextproductsearch/index $i

   echo "Page $i done"

done

../yii processfulltextproductsearch/index $i


代码执行

\console\controllers\ProcessfulltextproductsearchController.php

文件里面的方法:index

public function actionIndex($pageNum = 1){ }

$pageNum接收传递的$i 值

通过use引入文件就可以进行逻辑处理了。

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值