yii2-路由

本文详细介绍了Yii2框架中的路由概念,从请求与响应的简单过程出发,解释了路由在处理请求中的作用。接着,文章展示了如何配置路由,包括基本的路由规则设定、美化路由的实现以及各种复杂的参数限制和请求类型的约束。最后,总结了路由配置的主要内容,强调了路由配置对映射请求到控制器的重要性。
摘要由CSDN通过智能技术生成

去年写过一篇关于 yii2-router的博文,当时完全参照 yii2官网去写,结果可想而知,没人能看懂,包括我自己。今天偶然翻起,所以决定删了旧的,再重新整理一次

一、 路由的概念

首先梳理一下GET请求与相应的简单过程(针对php后端):①客户端发出GET请求(URL);②后端服务器根据 URL, 检查指定请求是一个静态文件(请求的文件真实存在于服务端),那么直接返回该文件,如果请求的文件不存在,那么就需要用到路由,根据路由规则来确定怎么处理请求,怎么查询数据库,怎么生成页面;③将上步生成的页面返回给客户端。由此可见,路由的作用其实就是分发请求。如果没理解也没关系,继续向下看。

关于上述第②步中 “怎么处理请求”、“怎么查询数据库”、“怎么生成页面”,实际就是典型的 MVC 结构;M指数据库模型,V视图,也就是怎么生成页面,C控制器。在 MVC 中,控制器整合业务流(或者说是数据流)的处理流程,视图 和 模型 主要起辅助作用。所以也就是说,路由的作用就是为了找到 URL 请求对应的 控制器,并解析出 URL请求参数给控制器,最后控制器负责处理客户端请求。

一个网站,一般会都会留有两个后端入口,index.phpadmin.phpindex.php 供浏览者访问,另一个供站长做后台管理。有人问,必须留两个吗?答案自然是否定的,留多少都成,哪怕一个请求一个接口,但是为了网站容易管理,一般都是留两个。

二、 yii2 配置

我的 yii2 项目结构如下截图:

yii2截图

其它文件都已删除,关于 router 的例子,只需要修改 config/web.php 即可满足,以下是每个文件的内容

1.config/web.php

<?php

$config = [
    'id' => 'demo',
    'basePath' => dirname(__DIR__),
    'language' => 'zh-cn',
    'aliases' => [
        '@bower' => '@vendor/bower-asset',
        '@npm'   => '@vendor/npm-asset',
    ],
    'components' => [
        'errorHandler' => [
            'errorAction' => 'site/error',
        ],
        'log' => [
            'traceLevel' => YII_DEBUG ? 3 : 0,
            'targets' => [
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['error', 'warning'],
                ],
            ],
        ],

        /* url 管理器 */
        'urlManager' => [
//            'enablePrettyUrl' => true,              // 美化 url
            'showScriptName'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值