zoukankan      html  css  js  c++  java
  • yii2 控制器的生命周期

    控制器生命周期

    http://www.yii-china.com/doc/guide/structure_controllers.html

    处理一个请求时,应用主体 会根据请求路由创建一个控制器,控制器经过以下生命周期来完成请求:

    1. 在控制器创建和配置后,yiiaseController::init() 方法会被调用。
    2. 控制器根据请求操作ID创建一个操作对象:
      • 如果操作ID没有指定,会使用yiiaseController::defaultAction默认操作ID;
      • 如果在yiiaseController::actions()找到操作ID,会创建一个独立操作;
      • 如果操作ID对应操作方法,会创建一个内联操作;
      • 否则会抛出yiiaseInvalidRouteException异常。
    3. 控制器按顺序调用应用主体、模块(如果控制器属于模块)、控制器的 beforeAction() 方法;
      • 如果任意一个调用返回false,后面未调用的beforeAction()会跳过并且操作执行会被取消; action execution will be cancelled.
      • 默认情况下每个 beforeAction() 方法会触发一个 beforeAction 事件,在事件中你可以追加事件处理操作;
    4. 控制器执行操作:
      • 请求数据解析和填入到操作参数;
    5. 控制器按顺序调用控制器、模块(如果控制器属于模块)、应用主体的 afterAction() 方法;
      • 默认情况下每个 afterAction() 方法会触发一个 afterAction 事件,在事件中你可以追加事件处理操作;
    6. 应用主体获取操作结果并赋值给响应
  • 相关阅读:
    常用 Git 命令清单
    谈谈关于PHP的代码安全相关的一些致命知识
    九个Console命令,让 JS 调试更简单
    有趣的博客小工具
    利用fputcsv导出数据备份数据
    IT小天博客APP版本
    七牛云存储文件批量下载工具使用教程
    Mysql的常见几种错误:1045,1044
    我是一个线程
    两行代码快速创建一个iOS主流UI框架
  • 原文地址:https://www.cnblogs.com/pcx105/p/6923296.html
Copyright © 2011-2022 走看看