资讯专栏INFORMATION COLUMN

Yii 多应用多模块

yedf / 732人阅读

摘要:下载下来解压后,进入目录,运行会在和两个应用的目录生成入口文件。多模块多模块可以参照。示例在里新建一个应用建立相关目录内容示例其他初始化代码在增加模块的申明模块其他配置在新建控制器类浏览器访问即可访问。

本文以YII 2.0.7为例。

概述

首先看看多应用和多模块的特点:

多应用的特点:

独立配置文件

独立域名

多模块的特点:

统一配置文件

统一域名

那么,实际该怎么决定使用多应用还是多模块呢?

对于前后台分离,例如后台需要多带带的域名进行管理这个应该用多应用

多应用的配置完全不一样,用多应用比较方便,配置文件使用不同的

多应用需要更多的域名配置,比价麻烦,对于小项目也不区分域名,多模块比较好

多应用

最简单的方法是下载官网的 Yii2的高级应用程序模板:yii-advanced-app-2.0.12.tgz。下载下来解压后,进入advanced目录,运行:

# Windows
init.bat

# Linux
init

会在frontendbackend两个应用的web目录生成入口文件index.phpfrontendbackend分别表示前台和后台应用,里面的目录结构是一样的:

assets/  
config/  
controllers/  
models/  
runtime/  
views/  
web/

运行:

$ cd advanced/frontend/web
$ php -S 0.0.0.0:8888
PHP 5.6.22 Development Server started at Sun Aug 20 21:10:28 2017
Listening on http://0.0.0.0:8888

打开浏览器输入http://0.0.0.0:8888就可以访问默认的首页了。

建议model还是放在根目录的common/models里。

多模块

多模块可以参照http://www.yiichina.com/doc/g...。示例:在frontend里新建一个h5应用:

1、建立相关目录

$ cd frontend
$ mkdir -p modules/h5 && cd modules/h5
$ mkdir controllers
$ touch Module.php

2、Module.php内容示例:

params["foo"] = "bar";
        // ...  其他初始化代码 ...
    }
}

3、在frontend/config/main.php增加模块的申明:

"modules" => [
    "h5" => [
        "class" => "frontendmodulesh5Module",
        // ... 模块其他配置 ...
    ],
],

4、在modules/h5/controllers新建控制器类:

render("index");
    }
}

浏览器访问:http://localhost:8888/index.php?r=h5/site/index 即可访问。

还有一种方法也可以实现类似该URL路由的访问形式,例如r=test/site/index。只需要在frontend/controllers目录新建个子目录叫test,把控制器放在里面,然后改下命名空间为

namespace frontendcontrollers	est;

就可以了。这种可以用于API版本控制,例如:

r=v1/site/index
r=v2/site/index

原载于:http://www.cnblogs.com/52fhy/...

欢迎关注公众号及时获取最新文章推送!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/28496.html

相关文章

  • 基于Yii2的应用开发引擎RageFrame

    摘要:多入口模式,多入口分为后台前端,微信,其他或接口对接,不同的业务不同的设备进入不同的入口。对接微信公众号,使用了一款优秀的微信非官方,系统内已集成了该,调用方式会在文档说明,也可直接看其文档进入深入开发。 RageFrame 为二次开发而生,让开发变得更简单。 前言 RageFrame项目创建于2016年4月16日,基于Yii2框架开发的应用开发引擎,目前正在成长中,目的是为了集成更多...

    enda 评论0 收藏0
  • Yii2.0框架 MVC 最佳实践

    摘要:框架最佳实践最佳实践在设计良好的应用中,控制器很精练,包含的操作代码简短如果你的控制器很复杂,通常意味着需要重构,转移一些代码到其他类中。层业务逻辑层框架由,,组成,执行流程一般是在访问获取数据,通过渲染页面。 Yii2.0框架 MVC 最佳实践 Controller最佳实践 在设计良好的应用中,控制器很精练,包含的操作代码简短; 如果你的控制器很复杂,通常意味着需要重构, 转移一些代...

    keithxiaoy 评论0 收藏0
  • Yii2基础版程序模块二级域名部署方案以及urlManager对二级域名绝对地址的改造方法

    摘要:二级域名管理问题我们推荐使用来生成链接,而不是人为写这样,这样对以后适配规则的更改有莫大的好处。 这似乎是个老生常谈的问题,那就再谈一次吧,本文我们要完成两件事件。 完成的任务 将模块二级域名化 让urlManager支持二级域名 将模块二级域名化 我们有这样的两个模块,分别是 admin 和 wechat ,接下来想做一件事情 http://wechat.abc.com ===>...

    Cristic 评论0 收藏0
  • RageFrame 一个 Yii2 + AdminLET 免费开源商户通用后台管理系统

    摘要:极致的插件机制,系统内的系统,安装和卸载不会对原来的系统产生影响强大的功能完全满足各阶段的需求,支持用户多端访问后台微信前台等,系统中的系统。多入口模式,多入口分为后台前端,微信,对内接口,对外接口,不同的业务,不同的设备,进入不同的入口。 RageFrame 2.0 为二次开发而生,让开发变得更简单 项目地址:https://github.com/jianyan74/... 前言 这...

    sunny5541 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<