當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。