zoukankan      html  css  js  c++  java
  • Module(空模块空操作前置后置操作)

    module是一个类
    名称:ModuleAction extends Action{} 首字母必须大写
    同时,在请求Url的时候,也需要严格区分大小写
    在APP_DEBUG,window下开发,也会强制区别大小写

    ps:
    //空模块
    //当系统找不到指定的模块名称的时候,
    //首先判断__hack_module()函数存不存在
    //如果该函数存在,则利用该函数返回一个的对象(返回值必须为对象,否则return)

    //如果__hack_module()不存在
    //系统调用空模块 $module=A('Empty'); //大A方法 等同$module=new EmptyAction();
    //如 http://localhost/orange/index.php/Aaaa/index
    //没有Aaaa这个模块(类) 就执行EmptyAction下的index方法
    class EmptyAction extends Action{
      public function index(){
        echo 111;

      }
    }

    根据地址栏的参数分析出要调用的模块和方法

    Module的空操作
    当一个对象,调用一个不存在的方法时,
    有一个魔术方法__call将会被调用
    该方法将会判断有没有_empty()方法存在,如果有,则调用

    //例  http://localhost/orange/index.php/Index/aaa

    class IndexAction extends Action{

      public function _empty(){

      }

    }

    //Index这个模块(类) 下没有aaa的方法,_empty()方法存在,即被调用

    前置和后置的操作
    是指,某个方法调用时,会先调用其前置操作,最后调用后置方法
    APP.class.php 130行左右
    当调用xxx方法时,如果存在_before_xxx方法,就先调用_before_xxx
    调用完xxx方法时,如果存在_after_xxx方法是,就调用_after_xxx

    ps:怎么样实现万能操作呢?(就是空模块空操作,)先写一个EmptyAction类,在这类下写一个_empty()方法

  • 相关阅读:
    halcon算子翻译——append_channel
    halcon算子翻译——access_channel
    halcon算子翻译——set_framegrabber_param
    halcon算子翻译——set_framegrabber_lut
    halcon算子翻译——set_framegrabber_callback
    halcon算子翻译——open_framegrabber大恒相机
    在循环中使用break案例
    for、while、do while 3种循环异同点
    do while循环
    while循环案例
  • 原文地址:https://www.cnblogs.com/loveyouyou616/p/2800853.html
Copyright © 2011-2022 走看看