监听器开发说明文档

监听器开发文档

  1. 监听器类必须继承自listener抽象类。(require/listener.php)
  2. 监听器类名必须与文件名一致,且第一个字母大写。
  3. 当存在多个类名相同的监听器时,只有第一个有效(按执行顺序)。
  4. 监听器文件可存放于listener目录。
监听器方法:
/**
* 该方法在访问前台或后台页面时执行
*/
public function run_common()

/**
* 该方法在访问后台页面时执行
*/
public function run_admincp()

/**
* 该方法在访问前台页面时执行
*/
public function run_global()

/**
* 该方法在显示前台页头时执行
*/
public function run_header()

/**
* 该方法在显示前台页脚时执行
*/
public function run_footer()

/**
* 该方法在获取输出缓存之后执行,通过$GLOBALS['output']全局变量可以获取缓存区内容
*/
public function run_output()

/**
* 该方法在用户发布视频之前执行
* @param array $param 用户发布视频时提交的视频资料,如需对视频资料进行修改,参数必须使用引用传递
*/
public function before_postvideo(&$param)

/**
* 该方法在用户发布视频之后执行
* @param int $param 发布成功后的视频ID
*/
public function after_postvideo($param)

/**
* 该方法在用户编辑视频之前执行
* @param array $param 用户编辑视频时提交的视频资料,如需对视频资料进行修改,参数必须使用引用传递
*/
public function before_editvideo(&$param)

/**
* 该方法在用户编辑视频之后执行
* @param int $param 编辑视频ID
*/
public function after_editvideo($param)

/**
* 该方法在用户发布评论之前执行
* @param array $param 用户发布评论时提交的相关资料,如需对资料进行修改,参数必须使用引用传递
*/    
public function before_postreply(&$param)

/**
* 该方法在用户发布评论之后执行
* @param int $param 发布成功后的评论ID
*/    
public function after_postreply($param)

/**
* 该方法在用户注册之前执行
* @param array $param 用户注册时提交的相关资料,如需对资料进行修改,参数必须使用引用传递
*/
public function before_register(&$param)

/**
* 该方法在用户注册之后执行
* @param int $param 注册完成后的用户ID
*/    
public function after_register($param)

/**
* 该方法在用户登录之前执行
* @param array $param 用户登录时提交的相关资料,如需对资料进行修改,参数必须使用引用传递
*/
public function before_login(&$param)

/**
* 该方法在用户登录之后执行
* @param int $param 成功登录之后的用户ID
*/
public function after_login($param)

/**
* 该方法在载入播放器之前执行
* @param array $param 该数组包含播放器名称、播放器路径、视频地址、上一集地址、上一集播放页面、下一集地址、下一集播放页面,参数必须使用引用传递
*/
public function load_player(&$param)
在监听器类中获取当前配置信息:
$cfg = $this->get_listener_config();
print_r($cfg);
array(
    'id' => '2', //监听器ID
    'file' => 'listener/test_listener.php', //监听器文件路径
    'callorder' => '0', //执行顺序
)
应用场景举例:
  • 功能:允许在所有前台脚本中使用func.php中定义的函数
  • 实现:
    1. listener目录下创建test_listener.php文件,代码如下:
      !defined('IN_PHPVOD') && exit('Forbidden');
      class Test_listener extends listener
      {
         public function __construct($param)
         {
             parent::__construct($param);
         }
         public function run_global()
         {
             include_once PHPVOD_ROOT . 'func.php'; //包含根目录下的func.php
         }
      }
      
    2. 添加监听器 进入后台 -> 辅助功能 -> 监听器管理 -> 添加监听器,监听器文件路径填写listener/test_listener.php

results for ""

    No results matching ""