当前位置: 首页>>代码示例>>PHP>>正文


PHP log::warn方法代码示例

本文整理汇总了PHP中log::warn方法的典型用法代码示例。如果您正苦于以下问题:PHP log::warn方法的具体用法?PHP log::warn怎么用?PHP log::warn使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在log的用法示例。


在下文中一共展示了log::warn方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: get_fields

 /**
  * 根据配置提取HTML代码块中的字段
  * 
  * @param mixed $confs
  * @param mixed $html
  * @param mixed $page
  * @return void
  * @author seatle <seatle@foxmail.com> 
  * @created time :2016-09-23 17:13
  */
 public function get_fields($confs, $html, $url, $page)
 {
     $fields = array();
     foreach ($confs as $conf) {
         // 当前field抽取到的内容是否是有多项
         $repeated = isset($conf['repeated']) && $conf['repeated'] ? true : false;
         // 当前field抽取到的内容是否必须有值
         $required = isset($conf['required']) && $conf['required'] ? true : false;
         if (empty($conf['name'])) {
             log::error("The field name is null, please check your \"fields\" and add the name of the field\n");
             exit;
         }
         $values = array();
         // 如果定义抽取规则
         if (!empty($conf['selector'])) {
             // 如果这个field是上一个field的附带连接
             if (isset($conf['source_type']) && $conf['source_type'] == 'attached_url') {
                 // 取出上个field的内容作为连接,内容分页是不进队列直接下载网页的
                 if (!empty($fields[$conf['attached_url']])) {
                     $collect_url = $this->get_complete_url($url, $fields[$conf['attached_url']]);
                     log::info(date("H:i:s") . " Find attached content page: {$url}");
                     $html = $this->request_url($collect_url);
                     // 在一个attached_url对应的网页下载完成之后调用. 主要用来对下载的网页进行处理.
                     if ($this->on_attached_download_page) {
                         $return = call_user_func($this->on_attached_download_page, $html, $this);
                         if (isset($return)) {
                             $html = $return;
                         }
                     }
                     // 请求获取完分页数据后把连接删除了
                     unset($fields[$conf['attached_url']]);
                 }
             }
             // 没有设置抽取规则的类型 或者 设置为 xpath
             if (!isset($conf['selector_type']) || $conf['selector_type'] == 'xpath') {
                 // 返回值一定是多项的
                 $values = $this->get_fields_xpath($html, $conf['selector'], $conf['name']);
             } elseif ($conf['selector_type'] == 'regex') {
                 $values = $this->get_fields_regex($html, $conf['selector'], $conf['name']);
             }
             // field不为空而且存在子配置
             if (!empty($values) && !empty($conf['children'])) {
                 $child_values = array();
                 // 父项抽取到的html作为子项的提取内容
                 foreach ($values as $html) {
                     // 递归调用本方法,所以多少子项目都支持
                     $child_value = $this->get_fields($conf['children'], $url, $html, $page);
                     if (!empty($child_value)) {
                         $child_values[] = $child_value;
                     }
                 }
                 // 有子项就存子项的数组,没有就存HTML代码块
                 if (!empty($child_values)) {
                     $values = $child_values;
                 }
             }
         }
         if (empty($values)) {
             // 如果值为空而且值设置为必须项,跳出foreach循环
             if ($required) {
                 break;
             }
             // 避免内容分页时attached_url拼接时候string + array了
             $fields[$conf['name']] = '';
             //$fields[$conf['name']] = array();
         } else {
             // 不重复抽取则只取第一个元素
             $fields[$conf['name']] = $repeated ? $values : $values[0];
         }
     }
     if (!empty($fields)) {
         foreach ($fields as $fieldname => $data) {
             $pattern = "/<img.*?src=[\\'|\"](.*?(?:[\\.gif|\\.jpg|\\.jpeg|\\.png]))[\\'|\"].*?[\\/]?>/i";
             // 在抽取到field内容之后调用, 对其中包含的img标签进行回调处理
             if ($this->on_handle_img && preg_match($pattern, $data)) {
                 $return = call_user_func($this->on_handle_img, $fieldname, $data);
                 if (!isset($return)) {
                     log::warn("on_handle_img function return value can't be empty\n");
                 } else {
                     // 有数据才会执行 on_handle_img 方法,所以这里不要被替换没了
                     $data = $return;
                 }
             }
             // 当一个field的内容被抽取到后进行的回调, 在此回调中可以对网页中抽取的内容作进一步处理
             if ($this->on_extract_field) {
                 $return = call_user_func($this->on_extract_field, $fieldname, $data, $page, self::$taskid);
                 if (!isset($return)) {
                     log::warn("on_extract_field function return value can't be empty\n");
                 } else {
                     // 有数据才会执行 on_extract_field 方法,所以这里不要被替换没了
//.........这里部分代码省略.........
开发者ID:jackyxie,项目名称:phpspider,代码行数:101,代码来源:phpspider.php

示例2: post

 /**
  * @param $name  要获取的POST参数名称
  * @param bool $required 该参数是否是必须的
  * @param string $defaultVal 如果该参数不是必须的,且没有传递的情况下期望的默认值
  * @return null|string 返回参数值,或者直接中断http请求向客户端返回错误信息
  */
 protected function post($name, $required = true, $defaultVal = 'val')
 {
     $result = null;
     if (!empty($_POST)) {
         $result = $_POST[$name];
     } else {
         if ($required) {
             $str = '缺少必要的POST参数' . $name . ' | ' . var_dump($_POST);
             log::warn($str);
             $this->ret_error($str);
         } else {
             $result = $defaultVal;
         }
     }
     return $result;
 }
开发者ID:hj624608494,项目名称:love-journey,代码行数:22,代码来源:BaseController.php


注:本文中的log::warn方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。