我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

  1、网站后台管理的每一个页面都需要进行身份和权限验证,这时候可以在项目中用一个钩子,在页面生命周期事件action_begin中插入一个事件用于执行验证行为。

  2、当网站项目需要维护时,用户打开每一个页面显示维护信息,这时候可以在页面生命周期app_init中插入一个事件,显示维护信息和终止其他生命事件的执行。

  3、加载一下公用的数据,只需要在action执行的事件之前加载数据,页面action操作时就可以直接使用数据。

  4、页面执行完毕,进行一些临时的特殊的页面内容输出替换。可以在view_filter事件中操作。

  5、对每一个页面做一些特殊的监控,可以在app_end或者response_end事件中加入操作逻辑。

  除了以上列举的,还有很多应用场景。

  如果不使用钩子,可以吗?答案是肯定的,除了用最笨的方法(在每一个操作前都加段代码)外,还可以定义一个基础控制器类,然后其他所有控制器都继承这个基础类,从而实现上诉功能。

  但是钩子有个特别的地方是,代码是放在其他地方,管理方便,同时更加方便在每个生命周期插入事件,更加方便。

  【专业企业网站建设制作】 行为定义

  app_init 应用初始化标签位 无参数

  app_dispatch 应用调度标签位 无参数

  app_begin 应用开始标签位 无参数

  module_init 模块初始化标签位 无参数

  action_begin 控制器开始标签位 当前的callback参数

  view_filter 视图输出过滤标签位 当前模板渲染输出内容

  app_end 应用结束标签位 当前响应对象实例

  log_write 日志write方法标签位 当前写入的日志信息

  log_write_done 莘塍专业营销型网站建设公司 日志写入完成标签位

  response_send 响应发送标签位 当前响应对象

  response_end 输出结束标签位 当前响应对象实例

  需要注意的是:其中log_write钩子仅在调用Log::write方法的时候执行。

  view_filter钩子v5.1.3+版本中已经废除,改用视图类的filter方法过滤。

  网络建议更好在在应用目录下面或者模块的目录下面定义tags.php文件来统一定义行为,因为这种网站架构最清晰,如果通过Hook在页面位置绑定,有些是操作不到,如app_init、app_begin等。

  如下定义事件示例如下

  return [

  // 应用初始化

  'app_init' 【企业网站建设服务好】 => [

  'app\ est\\behavior\\AppInit'

  ],

  // 应用开始

  'app_begin' => [

  'app\ est\\behavior\\AppBegin'

  ],

  // 模块初始化

  'module_init' => [

  'app\ est\\behavior\\ModuleInit'

  ],

  // 操作开始执行

  'action_begin'=> 莘塍专业网站建设报价 [

  'app\ est\\behavior\\ActionBegin'

  ],

  // 视图内容过滤

  'view_filter' => [

  'app\ est\\behavior\\ViewFilter'

  ],

  // 日志写入

  'log_write' => [

  'app\ est\\behavior\\LogWrite'

  ],

  // 应用结束

  'app_end' => [

  'app\ est\\behavior\\AppEnd'

  ],

  ];

  中间件是用于拦截或过滤应用的HTTP请求,并进行必要的业务处理,是5.1.16+才增加的功能,可以通过路由单独控制器定义,也可以全局定义,使用非常方便。

  【市网站制作公司】中间件定义

  网络认为,用钩子、行为和中间件还是非常有必要使用,可以让你的系统架构更加灵活和优化。

  网络专注于平台网站定制,各类网站定制,如果你有想法,我们跟你一起实现。


莘塍营销型网站建设推广公司 莘塍哪家制作公司网站
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求...
请立即点击咨询我们或拨打咨询热线: 13968746378,我们会详细为你一一解答你心中的疑难。项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13968746378

上班时间

周一到周六

公司电话

400-600-6240

二维码
线
在线留言