Fecshop Appfront 关于和介绍

Appfront 入口对应的pc端浏览器访问的入口

Appfront入口文件

1.默认入口文件: @appfront/web/index.php

2.对于其他store的,根据配置,有的是@appfront/web/index.php,有的是在 该路径下的其他语言的文件夹里面,譬如:@appfront/web/fr/index.php , @appfront/web/cn/index.php

3.打开index.php , 你会发现加载了很多的配置文件,通过yii\helpers\ArrayHelper::merge() 函数进行覆盖合并,最终形成一个配置文件

4.因为初始化,有大量的配置文件需要合并,这本身就是一个开销,因此,可以先合并生成一个配置文件, 然后在加载这个合并后的配置文件,即可节省资源,详细参看:http://www.fecshop.com/doc/fecshop-guide/develop/cn-1.0/guide-fecshop-about-config.html ,该地址页面的最下面即可查看。

Appfront 配置

1.本地配置文件路径:@appfront/config/ ,打开这个文件夹,可以看到很多配置文件

1.1 Yii2框架的配置文件

bootstrap.php:这个是Yii2框架初始化执行的部分,详细参看: 启动引导(Bootstrapping)

main.php: 这里是对入口定义 ,另外配置一些Yii2的组件,譬如component部分就是配置的Yii2 的组件,关于Yii2组件的更详细的介绍,可以参看: Yii2 应用组件

main-local.php: Yii2框架的一些配置,这个文件是在init的时候生成了, 每次执行init,在该文件中生成的 cookieValidationKey 都不一样

params.php params-local.php:是Yii2 param的配置

1.2 Fecshop系统本地配置文件

@appfront/config/fecshop_local_modules/*: 本地模块配置部分

@appfront/config/fecshop_local_services/*: 本地services配置部分

fecshop-local.php :fecshop的入口加载部分,这个部分的作用是加上上面2个部分里面的所有 配置文件,打开查看代码即一目了然

<?php

// 本文件在app/web/index.php 处引入。

// fecshop的核心模块
$modules = [];
foreach (glob(__DIR__.'/fecshop_local_modules/*.php') as $filename) {
    $modules = array_merge($modules, require($filename));
}
// 服务器组件
$services = [];
foreach (glob(__DIR__.'/fecshop_local_services/*.php') as $filename) {
    $services = array_merge($services, require($filename));
}

return [
    'modules'  => $modules,
    'services' => $services,
];

YiiClassMap.php :这个是Yii2的classMap机制,可以参看类映射表(Class Map) ,关于Yii2 classMap在fecshop中的使用,参看:重写yii2框架的class classMap的方式

YiiRewriteMap.php:这个是fecshop的机制,详细参看:通过rewriteMap进行重写Block Model 层

1.3 对于Fecshop系统appfront的配置文件,在 vendor/fancyecommerce/fecshop/app/appfront/config 下面

关于Fecshop更详细的配置结果,参看:Fecshop 配置结构

2.多语言

多语言是在本地翻译文件路径 @appfront/languages/下面, 对于Fecshop的多语言的翻译文件是在: @fecshop/app/appfront/languages/下面, 您可以在本地翻译文件中,对fecshop的翻译进行重写,或者添加新的翻译内容。

本地开发。

1.组件重写或开发新组件: 建立写到@appfront/local/local_components 下面

2.模块重写或开发新模块:建立写到@appfront/local/local_modules 下面

models, services,等都写到 @appfront/local 下面

如果您想在本地开发一个全新的模块,可以参看: Fecshop,本地Appfront入口新建modules

3.模板Theme:建议写到 @appfront/theme/terry/theme01 路径下, 在这里新建模板view 文件,layouts文件 ,以及相应的assets文件(里面是js和css img等文件。)

terry :模板包名

theme01:模板名