最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

懶惰是金 介紹幾個php通用的函數(shù)

 更新時間:2008年04月23日 23:18:37   作者:  
PHP是一門高效的網(wǎng)絡(luò)編程語言,由于它具有編寫靈活、運行快速等優(yōu)點,迅速成為Web程序員的首選語言。前不久的一份權(quán)威調(diào)查表明,現(xiàn)在已經(jīng)有31.6%的網(wǎng)站使用PHP作為主要的服務(wù)器端編程語言。


3. 控制Log信息的函數(shù)

調(diào)試PHP程序的另外一種重要的方法就是查看Log信息。如果能夠方便地控制Log信息的級別以及Log信息的顯示內(nèi)容,將會給程序調(diào)試帶來更多的便利。下面的幾個函數(shù)可以方便地實現(xiàn)這個功能。
$ss_log_level = 0;
$ss_log_filename = /tmp/ss-log;
$ss_log_levels = array(
NONE => 0,
ERROR => 1,
INFO => 2,
DEBUG => 3);
function ss_log_set_level ($level = ERROR) {
global $ss_log_level;
$ss_log_level = $level;
}
function ss_log ($level, $message) {
global $ss_log_level, $ss-log-filename;
if ($ss_log_levels[$ss_log_level] < $ss_log_levels[$level]) {
// 不顯示Log信息
return false;
}
$fd = fopen($ss_log_filename, "a+");
fputs($fd, $level. - [.ss_timestamp_pretty().] - .$message."n");
fclose($fd);
return true;
}
function ss_log_reset () {
global $ss_log_filename;
@unlink($ss_log_filename);
}
在上面的函數(shù)中,有四個Log級別變量。運行PHP程序時,只有當Log的級別低于預(yù)設(shè)的級別值時,Log信息才可以被記錄和顯示出來。例如,在程序中加入如下的一條語句:
ss_log_set_level(INFO);
那么,運行PHP程序時,只有ERROR和INFO級別的LOG信息才能被記錄和顯示出來,DEBUG級的信息則被忽略了。除此之外,我們還可以設(shè)定顯示的信息內(nèi)容,其語句如下:
ss_log(ERROR, "testing level ERROR");
ss_log(INFO, "testing level INFO");
ss_log(DEBUG, "testing level DEBUG");
你也可以隨時使用下面的語句清空LOG信息:
ss_log_reset();


4.速度測試函數(shù)
為了優(yōu)化代碼,我們需要一種可以測試代碼運行時間的方法,從而來選擇最優(yōu)的代碼。下面的函數(shù)可以測試運行代碼所需的時間:
function ss_timing_start ($name = default) {
global $ss_timing_start_times;
$ss_timing_start_times[$name] = explode( , microtime());
}
function ss_timing_stop ($name = default) {
global $ss_timing_stop_times;
$ss_timing_stop_times[$name] = explode(, microtime());
}
function ss_timing_current ($name = default) {
global $ss_timing_start_times, $ss_timing_stop_times;
if (!isset($ss_timing_start_times[$name])) {
return 0;
}
if (!isset($ss_timing_stop_times[$name])) {
$stop_time = explode(, microtime());
}
else {
$stop_time = $ss_timing_stop_times[$name];
}
$current = $stop_time[1] -$ss_timing_start_times[$name][1];
$current += $stop_time[0] -$ss_timing_start_times[$name][0];
return $current;
}
現(xiàn)在可以輕松地檢查任何一段代碼的執(zhí)行時間了,甚至我們可以同時使用多個計時器,只需在使用上述的幾個函數(shù)時設(shè)定不同的參數(shù)作為計時器的名稱就可以了。


5.調(diào)試和優(yōu)化數(shù)據(jù)庫的操作

對于數(shù)據(jù)庫來說,運行速度是至關(guān)重要的。盡管很多書籍和文章都講授了一些快速運行數(shù)據(jù)庫的方法,但是所有的方法都必須經(jīng)過實踐的檢驗。下面我們將把PHPLib函數(shù)庫中的query()函數(shù)和上面介紹的幾個函數(shù)綜合起來編寫成新的query()函數(shù),和原先的函數(shù)相比,這個函數(shù)增加了運行時間的監(jiān)測功能。
function query($Query_String, $halt_on_error = 1) {
$this->connect();
ss_timing_start();
$this->Query_ID = @mysql_query($Query_String,$this->Link_ID);
ss_timing_stop();
ss_log(INFO, ss_timing_current(). Secs - .$Query_String);
$this->Row = 0;
$this->Errno = mysql_errno();
$this->Error = mysql_error();
if ($halt_on_error && !$this->Query_ID) {
$this->halt("Invalid SQL: ".$Query_String);
}
return $this->Query_ID;
}

相關(guān)文章

  • PHP安全之register_globals的on和off的區(qū)別

    PHP安全之register_globals的on和off的區(qū)別

    這篇文章主要介紹了PHP安全之register_globals的on和off的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 微信公眾平臺之快遞查詢功能用法實例

    微信公眾平臺之快遞查詢功能用法實例

    這篇文章主要介紹了微信公眾平臺之快遞查詢功能用法,實例分析了微信公眾平臺實現(xiàn)快遞查詢的相關(guān)技巧與具體用法,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • 淺談PHP定義命令空間的幾個注意點(推薦)

    淺談PHP定義命令空間的幾個注意點(推薦)

    下面小編就為大家?guī)硪黄獪\談PHP定義命令空間的幾個注意點(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • php多線程并發(fā)實現(xiàn)方法

    php多線程并發(fā)實現(xiàn)方法

    這篇文章主要介紹了php多線程并發(fā)實現(xiàn)方法,結(jié)合實例形式分析了php模擬多線程并發(fā)的相關(guān)操作技巧,以及在Linux平臺借助shell實現(xiàn)多線程并發(fā)的操作方法,需要的朋友可以參考下
    2016-09-09
  • PHP引用符&的用法詳細解析

    PHP引用符&的用法詳細解析

    以下是對PHP中引用符&的用法進行了詳細的分析介紹。需要的朋友可以過來參考下
    2013-08-08
  • PHP set_time_limit(0)長連接的實現(xiàn)分析

    PHP set_time_limit(0)長連接的實現(xiàn)分析

    每次我們訪問PHP腳本的時候,都是當所有的PHP腳本執(zhí)行完成后,我們才得到返回結(jié)果。如果我們需要一個腳本持續(xù)的運行,那么我們就要通過php長連接的方式,來達到運行目的。
    2010-03-03
  • PHP zip壓縮包操作類完整實例

    PHP zip壓縮包操作類完整實例

    這篇文章主要介紹了PHP zip壓縮包操作類,結(jié)合完整實例形式分析了php封裝的針對zip文件解壓、壓縮、遞歸創(chuàng)建、讀取等相關(guān)操作,需要的朋友可以參考下
    2018-06-06
  • JS實現(xiàn)php的偽分頁

    JS實現(xiàn)php的偽分頁

    假如某一個頁面的數(shù)據(jù)很多,不方便全都顯示出來,而且假設(shè)里面有個播放器,不希望在翻頁的時候播放器會終止的話,就可以采用這個方法盡管可以用Ajax,但是在數(shù)據(jù)比較少的情況下,這個方法更有優(yōu)勢
    2008-05-05
  • php使用GD創(chuàng)建保持寬高比縮略圖的方法

    php使用GD創(chuàng)建保持寬高比縮略圖的方法

    這篇文章主要介紹了php使用GD創(chuàng)建保持寬高比縮略圖的方法,涉及php使用GD庫操作圖片的技巧,需要的朋友可以參考下
    2015-04-04
  • php+ajax無刷新上傳圖片實例代碼

    php+ajax無刷新上傳圖片實例代碼

    這篇文章為大家分享了php+ajax無刷新上傳圖片實例代碼,需要的朋友可以參考下
    2015-11-11

最新評論

惠东县| 乐业县| 金秀| 榆林市| 宁海县| 宁远县| 河源市| 安吉县| 巴林右旗| 安丘市| 邵东县| 沐川县| 漳州市| 宁津县| 新巴尔虎左旗| 钟祥市| 秦皇岛市| 陇西县| 龙井市| 宾川县| 定安县| 涞水县| 松江区| 利津县| 曲麻莱县| 永善县| 呼伦贝尔市| 马公市| 广平县| 富川| 南充市| 湘潭县| 大庆市| 尼勒克县| 吉首市| 漳浦县| 开鲁县| 安西县| 綦江县| 克什克腾旗| 电白县|