<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                #### 我們在開發中經常會用到很多的函數,有些是PHP內置的,有些需要自己去實現,為了減少代碼冗余,我就自己封裝了一些常用的函數,如下: 1. C()函數 可能ThinkPHP里最有標志性的就是它的這些大寫字母的函數了吧,C函數在系統配置類中已經寫過了,需要的請去前面的章節中查看 2. I()函數 ~~~ function I($a){ $b = array_merge($_GET,$_POST); return $b[$a]; } ~~~ 這里只是簡單的把``$_GET和$_POST``合并后返回,如果需要的話也可以自己去添加過濾函數等等,這里為了方便,不再贅述 3.dump()函數 ~~~ function dump($arr){ if (is_array($arr)){ echo '<pre>'; print_r($arr); echo '</pre>'; }else{ echo $arr; } } ~~~ 這個函數主要是因為調試的時候,到處``var_dump() print_r()``和``echo``,很亂,而且有時候因為參數類型的問題還會報錯,因為echo不能打印數組類型,所以會報錯,現在把他們都封裝起來,方便調試(pre標簽會保證把數組格式化輸出,而不會連在一起,不容易看清楚) 4.import()函數: ~~~ function import($str){ $path = C('extend_path') . $str; if (file_exists($path)){ require $path; return true; }else{ throw new \S\S_Exception('您要導入的類文件不存在!'); } } ~~~ 這個函數用來引入第三方類庫,比如我在配置文件中添加配置項如下:`` 'extend_path' => S_PATH . 'S/Extend/',`` 那么我將Smarty類放在``Extend/``路徑下,這樣,我只需要使用``import('Smarty.class.php');``這樣就把Smarty類包含進來了,下面就可以進行實例化等操作了 5.session()函數 ~~~ function session($parm1,$parm2 = null){ if (is_null($parm2)){ if (isset($_SESSION[$parm1])){ return $_SESSION[$parm1]; }else{ return false; } }else{ $_SESSION[$parm1] = $parm2; return true; } } ~~~ 這個函數是為了操控session的,session比cookies更加安全,廣泛用在驗證碼驗證上,前提是要使用``session_start()``開啟``session`` 6.redirect()函數 ~~~ function redirect($url, $time=0, $msg='') { $url = __ROOT__.$url; if (empty($msg)){ $msg = "系統將在{$time}秒之后自動跳轉到{$url}!"; } if (!headers_sent()) { // redirect if (0 === $time) { header('Location: ' . $url); } else { header('refresh:'.$time .';url=' . $url); echo($msg); } exit(); } else { $str = "<meta http-equiv=\'Refresh\' content=\'".$time .";URL=". $url . "\'>"; if ($time != 0) $str .= $msg; exit($str); } } ~~~ 這個函數用與自動跳轉,跟TP中的``$this->redirect()``功能一樣,主要是通過設置``header()``達到跳轉的目的,代碼也很簡單 7.isAjax、isPost、isGet函數 ~~~ function isAjax(){ if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'){ return true; }else{ return false; } } function isGet(){ return $_SERVER['REQUEST_METHOD'] == 'GET' ? true : false; } function isPost() { return ($_SERVER['REQUEST_METHOD'] == 'POST' && (empty($_SERVER['HTTP_REFERER']) || preg_replace("~https?:\/\/([^\:\/]+).*~i", "\\1", $_SERVER['HTTP_REFERER']) == preg_replace("~([^\:]+).*~", "\\1", $_SERVER['HTTP_HOST']))) ? 1 : 0; } ~~~ 這三個函數是用來判斷當前提交的類型,代碼來源于網絡。 8.這個函數是重中之重:M()函數 ~~~ function M($table_name,$dsn = null){ if (is_null($dsn)){ $obj = \S\Model::getInstance($table_name); } return $obj; } ~~~ 這個函數功能和TP中的M函數一樣,都是用于連接數據庫,這里面獲取了Model類的單例,穿件來的第一個參數是表名,第二個參數是使用PDO鏈接數據庫時的dsn,默認為空,在Model類中會從配置文件中調取dsn。 下一章就詳細講解數據庫操作類Model
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看