yii 2.0 控制器

一、路由

有模块的情况下访问

http://hostname/index.php?r=模块/控制器/操作

没有模块的情况下访问

http://hostname/index.php?r=控制器/操作

 

 

二、命名规则

控制器命名规则

控制器仅包含英文小写字母、数字、下划线、中横杠和正斜杠。

 

控制器类使用首字母大写的驼峰法命名

路由控制器使用首字母小写使用中横线分割单词命名

 

路由中的控制器与控制器类的命名对应关系

article 对应 app\controllers\ArticleController;
post-comment 对应 app\controllers\PostCommentController;
admin/post-comment 对应 app\controllers\admin\PostCommentController;
adminPanels/post-comment 对应 app\controllers\adminPanels\PostCommentController.

 

 

 

三、创建控制器类

 

namespace app\controllers;
use yii\web\Controller;

class UserController extends Controller{
    
    public function actionIndex(){
        echo "index";
    }
    
    public function actionCreate(){
        echo "create";
    }
    
}

 

 

 

 

 

四、独立操作

例如创建UserController控制器的独立操作TestUserAction

第一步:控制器UserController类覆盖父类yii\web/Controller的actions方法。

在actions方法内用key-value的方式配置,key代表浏览器访问的操作名称,value代表TestUserAction操作所在的命名空间。

 

<?php

namespace app\controllers;
use yii\web\Controller;

class UserController extends Controller{
    
    public function actions() {
        return [
        // 用类来申明"error" 操作
        'error' => 'yii\web\ErrorAction',

        // 用配置数组申明 "view" 操作
        'view' => [
            'class' => 'yii\web\ViewAction',
            'viewPrefix' => '',
        ],
        'test-user'=>'app\controllers\actions\TestUserAction',
    ];
    }
    
}


第二步创建独立操作TestUserAction

 

在app/controllers创建actions文件夹用来存放独立操作的action

 

TestUserAction操作需要继承yii\base\Action并实现run()公共方法

 

namespace app\controllers\actions;
use yii\base\Action;

class TestUserAction extends Action{
    
    public function run(){
        return "TestUserAction";
    }
}


测试独立操作

 

http://yii2.host.com/index.php?r=user/test-user

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值