控制器和路由

1.控制器以Controller做为后缀,继承自 yii\web\Controller

2.动作以action为前缀,public访问修饰

3.控制器ID去类名后缀,全部转为小写,如果是驼峰命名多个单词,转为中杠分隔

4.动作ID去前缀,全部转为小写,如果是驼峰命名多个单词,转为中杠分隔。

5.路由如何指向动作 控制器ID、动作ID

6.URL访问规则index.php?r=路由   传参数使用&参数=值的方式

7.默认动作ID index定义在 yii\base\Controller::$defaultAction

Url生成

Url帮助类工作方式的演示

use yii\helpers\Url;

//同一个控制器中其他action

echo  Url::toRoute([‘update‘,‘id‘=>‘1‘]);//如果没有参数,可以传字符窜,不需要数组

//不同控制器的action(同一个module)

echo Url::toRoute(‘post/index‘);

//绝对路径(可以跳出当前module,如果启动了module,需要在前面加入module的ID)

echo Url::toRoute(‘/site/index‘);

//当前控制器中,多个单词组成的action,例如 actionUserInfo

echo Url::toRoute(‘user-info‘);  //控制器类似

//带域名的Url

echo Url::toRoute(‘site/index‘,true);

//路由别名

echo Url::toRoute(‘@register‘);//路由别名,需要先注册别名,例如 Yii::setAlias(‘@register‘,‘site/register‘);

//拼接image、css等

echo  Url::base();     // /project/web

ehco  Url:base(true);   //  http://localhost/project/web

echo  Url::to();          //  为空的时候是返回当前的url,包括参数

echo Url::to(数组)   //等价于Url::toRoute(数组)

echo  Url::to()

//跳转

return $this->redirect([‘foot-bar/user-info‘]);

//路由重写

开启配置文件web.php里的

/*‘urlManager‘ => [    ‘enablePrettyUrl‘ => true,   //去掉 ?r=    ‘showScriptName‘ => false,   // 去掉index.php  需要apache开启rewrite模块,并添加.htaccess    ‘rules‘ => [    ],],*/并 apache开启rewrite模块,并添加.htaccess

小点:

ajax请求的时候用 renderPartial (不加载头部尾部),平常用render就行

时间: 2024-10-16 17:08:02

控制器和路由的相关文章

ASP.Net MVC开发基础学习笔记(3):Razor视图引擎、控制器与路由机制学习

首页 头条 文章 频道                         设计频道 Web前端 Python开发 Java技术 Android应用 iOS应用 资源 小组 相亲 频道 首页 头条 文章 小组 相亲 资源 设计 前端 Python Java 安卓 iOS 登录 注册 首页 最新文章 经典回顾 开发 Web前端 Python Android iOS Java C/C++ PHP .NET Ruby Go 设计 UI设计 网页设计 交互设计 用户体验 设计教程 设计职场 极客 IT技术

ASP.Net MVC开发基础学习笔记:三、Razor视图引擎、控制器与路由机制学习

一.天降神器“剃须刀” — Razor视图引擎 1.1 千呼万唤始出来的MVC3.0 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用WebForm时代沿留下来的ASPX引擎或者第三方的NVelocity模板引擎. Razor在减少代码冗余.增强代码可读性和Visual Studio智能感知方面,都有着突出的优势.Razor一经推出就深受广大ASP.Net开发者的喜爱. 1.2 Razor的语法 (1)Razor文件类型:Razor支持两种文件类型,分

[.net 面向对象程序设计深入](6).NET MVC 6 —— 模型、视图、控制器、路由等的基本操作

[.net 面向对象程序设计深入](6).NET MVC 6 —— 模型.视图.控制器.路由等的基本操作 1. 使用Visual Studio 2015创建Web App (1)文件>新建>项目,选择Web>ASP.NET Web 应用程序 (2)在新项目MyFirstWebApp对话框中,选择ASP.NET 5模板>Web Application 由于是RC版,这里的”添加单元测试“暂时不能选,上面的WebForms MVC WebAPI将合并,前面一节介绍过了,因此也不需要再选

控制器 - 应用路由(二)

从设计角度出发,一个 ASP.NET 应用程序并非强制地依赖物理页面.在 ASP.NET MVC 中,用户发出请求并在某个资源上做相应处理.然而,就整个框架而言,并非授权这种语法来描述资源和行为.我深信这样的表述使你很可能地想到了 REST(Representational State Transfer). 虽然你可以在一个 ASP.NET MVC 应用中使用纯粹的 REST 方案, 但是我想说的是ASP.NET 是松散的面向 REST,它承认例如资源和行为的概念.举个例子,在一个纯 REST

MVC 多级目录(控制器) 路由重写 及 多级Views目录 的寻找视图的规则

转自:[原]Asp.net Mvc   多级控制器 路由重写 及 多级Views目录 的寻找视图的规则 asp.net mvc 为了更好的控制views的页面存放,和控制器的可读性,需要分开多级目录来存放. 1.那么我们再来看我们需要的访问方式,如下图 如果我们要访问Admin下的TestController里面的Index页面,那么我们输入Test/Index,这个肯定不行的.因为TestController根本就不在Controllers的根目录下,而是在Controllers/Admin下

tp5中使用中间控制器代理路由,以避免创建过多的无用控制器方法

在写项目的时候偶尔会加载一些不需要传递参数的静态视图,例如 class Index extends Common { public function index() { return $this->fetch(); } public function top() { return $this->fetch(); } public function menu() { return $this->fetch('',['menus'=>$this->_user['menus']])

Laravel路由和控制器的绑定

路由和控制器的关系 路由文件地址在\app\Http\routes.php,我们来看两种不同的路由. 1 2 3 4 5 6 7 8 Route::get('/', function () {     return view('welcome'); }); Route::get('/hi', function () {     return 'hello world'; }); 以上均为绑定匿名函数的路由,虽然可以返回视图,也可以返回字符串,但本质都是一样的. 1 2 Route::get('/

Yaf零基础学习总结8-Yaf中的路由和路由协议

路由器主要负责解析一个请求并且决定什么module.controller.action被请求:它同时也定义了一种方法来实现用户自定义路由,这也使得它成为最重要的一个MVC组组件.为了方便自定义路由, Yaf摒弃了0.1版本中的自定义路由器方式, 而采用了更为灵活的路由器和路由协议分离的模式.也就是一个固定不变的路由器, 配合各种可自定义的路由协议, 来实现灵活多变的路由策略. 作为一个应用中的路由组件是很重要的,理所当然的路由组件是抽象的,这样允许作为开发者的我们很容易的设计出我们自定义的路由协

Laravel5.1 -控制器(初步了解)

首先道个歉 这篇笔记是前两天就应该写的,可大K有点事儿要忙 就耽误了,今天抽空学了学控制器,并写个笔记分享下. 为什么要使用控制器 像我们之前写一些逻辑呢都是在Route(路由)中,搞得Route文件特别庞大,其实我们应该把这些逻辑都抽到一个控制器里,路由分发后到控制器,控制器做相应的操作,比如关于后台的逻辑应该抽到AdminController中,Route文件只管分发. 1 如何创建一个控制器 1.1.1 创建RESTful控制器 至于什么是RESTful?自行百度- -,我先简单说下,它里