`
niqingyang
  • 浏览: 44145 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

YII2 如果设计两级路由的Controller

    博客分类:
  • YII
阅读更多

在开发中一般遇到的路由都是三级的,基本都是如下格式:

/module/controller/action

 但是在一些功能方面需要给用户显示两级的路由会更好,比如注册、购物车、等等,更希望的如下的路由:

/cart/add

/register/mobile

/register/email

/user/address

 在YII中可以如下实现:

 

1.在main-local.php中加入如下配置:

$config['controllerMap']['register'] = 'app\modules\register\controllers\RegisterController'; 

 

2.在/frontend/modules/register/controllers/目录下创建RegisterController文件。

 

但这样的话YII其实加载的时候site模块,加载语言包的时候会去frontend/language/目录下找register.php语言包,所以需要在RegisterController的构造函数中修改module,代码如下:

/**
	 * 构造函数
	 *
	 * @param unknown $id        	
	 * @param unknown $module        	
	 * @param unknown $config        	
	 */
	public function __construct ($id, $module, $config = [])
	{
		// 获取module的模块对象
		$module = \Yii::$app->getModule('register');
		parent::__construct($id, $module, $config);
	}

 

 

3.这样路由就变成了两级了

 

通过这种方式尽量避免出现:user/user/address、register/register/mobile的链接

 

 

分享到:
评论

相关推荐

    yii2swoole让yii2运行在swoole上

    Yii2框架是一款基于组件、高性能、专为Web2.0应用开发设计的PHP框架,而Swoole则是一个用于PHP的高性能、异步、并行的网络通信引擎,能够使PHP运行在服务端,实现全异步非阻塞的网络I/O操作。将Yii2与Swoole结合,...

    php yii2框架高级模板

    "php yii2框架高级模板"指的是Yii2框架中的Advanced Template,这是一个为复杂Web应用设计的模板,通常用于需要前后端分离或者多应用环境的项目。 高级模板分为前后两个部分:frontend(前端)和backend(后端),...

    yii2 通用后台系统

    "yii2 通用后台系统"是一个基于Yii2框架构建的企业级后台管理系统,旨在提供一套全面、高效的后台管理解决方案,包括用户管理、权限控制、数据统计等功能,帮助开发者快速搭建稳定且功能丰富的后台应用。 在Yii2...

    yii2高级模板

    Yii2高级模板是基于Yii2框架的一个开发模板,专为构建复杂的Web应用程序设计。这个模板提供了清晰的项目结构,使得开发者能够快速地搭建和维护大型的、多层的应用程序。Yii2是一个高效的PHP框架,它遵循模型-视图-...

    YII2框架代码

    YII2是YII框架的最新版本,基于组件设计,提供MVC(Model-View-Controller)架构模式,支持命令行接口,具有强大的缓存管理,以及优秀的性能优化机制。它采用了现代PHP最佳实践,如依赖注入、单元测试和自动化工作...

    yii2-master

    Yii2在设计上遵循了模型-视图-控制器(MVC)设计模式,使得代码结构清晰,易于维护。 1. **安装与配置**:Yii2通过Composer进行安装,Composer是PHP的依赖管理工具,开发者可以通过它轻松地管理和更新项目中的库和...

    yii2中文开发手册

    2. **基础概念**:Yii2遵循面向对象编程,强调组件化设计。理解Controller、Model、View的职责,以及如何组织MVC结构至关重要。此外,Yii2的事件和行为系统允许自定义代码执行流程,而服务定位器和依赖注入容器则...

    yii2 高级模板

    总结来说,“yii2 高级模板”是一个为大型项目设计的结构化开发环境,它提供了前后端分离的布局,便于代码管理和团队协作。虽然解压即用,但开发者仍需要了解基本的PHP和Yii2框架知识,以便于利用这个模板进行开发。...

    yii2-v2.0.6

    在 yii2-v2.0.6 中,"vendor" 文件夹包含了 Yii 2 框架本身以及所有其他第三方扩展,比如数据库驱动、模板引擎、安全工具等。这些组件通过 Composer 安装,并且按照命名空间组织,方便代码的导入和使用。通过这个...

    Yii2创建控制器(createController)方法详解

    本文将详细解析Yii2中createController方法的使用,以及与之相关的重要知识点。 在Yii2框架中,控制器是响应用户请求并返回输出的中心组件。控制器负责处理各种业务逻辑,并将结果通过视图呈现给用户。在Yii2的MVC...

    php开发框架Yii2

    2. MVC(Model-View-Controller)架构:Yii2 遵循MVC模式,使开发者能够清晰地分离业务逻辑、数据展示和用户界面。 3. 组件驱动:Yii2 的所有部分都是基于组件的,这意味着你可以轻松替换或扩展任何部分,以满足特定...

    Yii 2文件下载

    1. **yiisoft/yii2**: 框架的核心组件,包括MVC(模型-视图-控制器)架构、数据库访问层、缓存机制、身份验证和授权等。 2. **Composer配置文件**:用于管理依赖和自动加载类库。 3. **基础应用模板**:提供一个基本...

    yii2简单注册登录

    1. **Yii2框架结构**:Yii2遵循MVC(Model-View-Controller)设计模式,使得代码组织清晰,易于维护。项目中的文件和目录通常按照框架的结构分布,包括models、views、controllers、config、runtime等关键部分。 2....

    基于Yii2+layui的后台框架模板,实现了完善的RBAC权限控制-yii2-admin-theme.zip

    本项目"基于Yii2+layui的后台框架模板,实现了完善的RBAC权限控制"结合了这两个强大的工具,为开发高效、安全的后台管理系统提供了一个良好的基础。RBAC(Role-Based Access Control)是一种常见的访问控制机制,...

    PHP Yii2框架开发

    1. **MVC(Model-View-Controller)架构**:Yii2遵循MVC设计模式,将业务逻辑、数据和用户界面分离,使得代码结构清晰,易于维护。 2. **ActiveRecord**:Yii2中的ActiveRecord实现了ORM(对象关系映射),使得...

    yii2初学者

    1. MVC架构:Yii2遵循模型-视图-控制器(MVC)设计模式,它有助于分离应用程序逻辑、用户界面和控制层。这种分离确保了代码的可维护性和可重用性。 2. 活跃记录(Active Record):Yii2的活跃记录模式允许开发者用...

    新下载的yii2,yii framework

    它遵循“简洁即高效”的设计理念,提供了丰富的特性,如MVC(Model-View-Controller)、I18N/L10N(国际化和本地化)、缓存管理、数据库抽象层以及安全防护等,使得开发者能够快速构建可扩展、易于维护的Web应用。...

    yii2-advanced-api, 具有 RESTful API设置的Yii2高级模板.zip

    yii2-advanced-api, 具有 RESTful API设置的Yii2高级模板 2高级应用程序模板中的 rest APIYii2高级应用程序模板,配置了 RESTful API 。 查看 http://budiirawan.com/setup-restful-api-yii2/ 了解更详细的解释安装 ...

    yii2-master.rar

    Yii2是一个开源的、面向对象的、基于组件的Web2.0应用开发框架,它遵循MVC(Model-View-Controller)设计模式,提供快速开发、可扩展性和高效率。 2. **高级开发**:这个归档文件标记为“高级”,意味着它包含了...

    Yii2参考手册-新

    Yii2参考手册,Yii2中文手册完整版

Global site tag (gtag.js) - Google Analytics