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

懶惰是金 介紹幾個(gè)php通用的函數(shù)第2/2頁

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


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

調(diào)試PHP程序的另外一種重要的方法就是查看Log信息。如果能夠方便地控制Log信息的級(jí)別以及Log信息的顯示內(nèi)容,將會(huì)給程序調(diào)試帶來更多的便利。下面的幾個(gè)函數(shù)可以方便地實(shí)現(xiàn)這個(gè)功能。
$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ù)中,有四個(gè)Log級(jí)別變量。運(yùn)行PHP程序時(shí),只有當(dāng)Log的級(jí)別低于預(yù)設(shè)的級(jí)別值時(shí),Log信息才可以被記錄和顯示出來。例如,在程序中加入如下的一條語句:
ss_log_set_level(INFO);
那么,運(yùn)行PHP程序時(shí),只有ERROR和INFO級(jí)別的LOG信息才能被記錄和顯示出來,DEBUG級(jí)的信息則被忽略了。除此之外,我們還可以設(shè)定顯示的信息內(nèi)容,其語句如下:
ss_log(ERROR, "testing level ERROR");
ss_log(INFO, "testing level INFO");
ss_log(DEBUG, "testing level DEBUG");
你也可以隨時(shí)使用下面的語句清空LOG信息:
ss_log_reset();


4.速度測試函數(shù)
為了優(yōu)化代碼,我們需要一種可以測試代碼運(yùn)行時(shí)間的方法,從而來選擇最優(yōu)的代碼。下面的函數(shù)可以測試運(yùn)行代碼所需的時(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í)使用多個(gè)計(jì)時(shí)器,只需在使用上述的幾個(gè)函數(shù)時(shí)設(shè)定不同的參數(shù)作為計(jì)時(shí)器的名稱就可以了。


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

對(duì)于數(shù)據(jù)庫來說,運(yùn)行速度是至關(guān)重要的。盡管很多書籍和文章都講授了一些快速運(yùn)行數(shù)據(jù)庫的方法,但是所有的方法都必須經(jīng)過實(shí)踐的檢驗(yàn)。下面我們將把PHPLib函數(shù)庫中的query()函數(shù)和上面介紹的幾個(gè)函數(shù)綜合起來編寫成新的query()函數(shù),和原先的函數(shù)相比,這個(gè)函數(shù)增加了運(yùn)行時(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ū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 微信公眾平臺(tái)之快遞查詢功能用法實(shí)例

    微信公眾平臺(tái)之快遞查詢功能用法實(shí)例

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

    淺談PHP定義命令空間的幾個(gè)注意點(diǎn)(推薦)

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

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

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

    PHP引用符&的用法詳細(xì)解析

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

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

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

    PHP zip壓縮包操作類完整實(shí)例

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

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

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

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

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

    php+ajax無刷新上傳圖片實(shí)例代碼

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

最新評(píng)論

江源县| 崇仁县| 苍梧县| 庐江县| 密云县| 沁源县| 汕头市| 新疆| 隆林| 双城市| 黑水县| 富锦市| 沙坪坝区| 宜黄县| 靖江市| 台前县| 千阳县| 镇坪县| 阜康市| 班玛县| 平罗县| 廊坊市| 曲周县| 张北县| 赤峰市| 墨玉县| 铜川市| 永德县| 双桥区| 静乐县| 体育| 凯里市| 汝阳县| 图们市| 盘锦市| 板桥市| 太仆寺旗| 罗定市| 故城县| 天柱县| 吐鲁番市|