摘要:下载下来解压后,进入目录,运行会在和两个应用的目录生成入口文件。多模块多模块可以参照。示例在里新建一个应用建立相关目录内容示例其他初始化代码在增加模块的申明模块其他配置在新建控制器类浏览器访问即可访问。
本文以YII 2.0.7为例。
概述首先看看多应用和多模块的特点:
多应用的特点:
独立配置文件
独立域名
多模块的特点:
统一配置文件
统一域名
那么,实际该怎么决定使用多应用还是多模块呢?
对于前后台分离,例如后台需要多带带的域名进行管理这个应该用多应用
多应用的配置完全不一样,用多应用比较方便,配置文件使用不同的
多应用需要更多的域名配置,比价麻烦,对于小项目也不区分域名,多模块比较好
多应用最简单的方法是下载官网的 Yii2的高级应用程序模板:yii-advanced-app-2.0.12.tgz。下载下来解压后,进入advanced目录,运行:
# Windows init.bat # Linux init
会在frontend和backend两个应用的web目录生成入口文件index.php。frontend和backend分别表示前台和后台应用,里面的目录结构是一样的:
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
摘要:多入口模式,多入口分为后台前端,微信,其他或接口对接,不同的业务不同的设备进入不同的入口。对接微信公众号,使用了一款优秀的微信非官方,系统内已集成了该,调用方式会在文档说明,也可直接看其文档进入深入开发。 RageFrame 为二次开发而生,让开发变得更简单。 前言 RageFrame项目创建于2016年4月16日,基于Yii2框架开发的应用开发引擎,目前正在成长中,目的是为了集成更多...
摘要:框架最佳实践最佳实践在设计良好的应用中,控制器很精练,包含的操作代码简短如果你的控制器很复杂,通常意味着需要重构,转移一些代码到其他类中。层业务逻辑层框架由,,组成,执行流程一般是在访问获取数据,通过渲染页面。 Yii2.0框架 MVC 最佳实践 Controller最佳实践 在设计良好的应用中,控制器很精练,包含的操作代码简短; 如果你的控制器很复杂,通常意味着需要重构, 转移一些代...
摘要:二级域名管理问题我们推荐使用来生成链接,而不是人为写这样,这样对以后适配规则的更改有莫大的好处。 这似乎是个老生常谈的问题,那就再谈一次吧,本文我们要完成两件事件。 完成的任务 将模块二级域名化 让urlManager支持二级域名 将模块二级域名化 我们有这样的两个模块,分别是 admin 和 wechat ,接下来想做一件事情 http://wechat.abc.com ===>...
摘要:极致的插件机制,系统内的系统,安装和卸载不会对原来的系统产生影响强大的功能完全满足各阶段的需求,支持用户多端访问后台微信前台等,系统中的系统。多入口模式,多入口分为后台前端,微信,对内接口,对外接口,不同的业务,不同的设备,进入不同的入口。 RageFrame 2.0 为二次开发而生,让开发变得更简单 项目地址:https://github.com/jianyan74/... 前言 这...
阅读 1559·2023-04-25 14:12
阅读 920·2021-08-27 16:24
阅读 2500·2019-08-30 15:44
阅读 2883·2019-08-30 13:16
阅读 1611·2019-08-29 14:10
阅读 917·2019-08-29 13:54
阅读 1260·2019-08-29 13:09
阅读 1761·2019-08-26 18:37