国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > PHP > 正文

PHP技巧:通過(guò)實(shí)例深入剖析require和include的用法

2024-05-04 23:02:58
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  在php中,include和require的作用比較容易混淆。下面我以一個(gè)經(jīng)典例子來(lái)深刻說(shuō)明它們的區(qū)別。

    當(dāng)我們經(jīng)常訪問(wèn)一個(gè)數(shù)據(jù)庫(kù)時(shí),可以把連庫(kù)語(yǔ)句寫(xiě)成一個(gè)文件

con_db.php

<?php
    $dbh =  mysql_connect('localhost','','');
    mysql_select_db('admreqs');
?>

在實(shí)際應(yīng)用時(shí),我們可以在程序中調(diào)用這個(gè)文件。

如require("con_db.php")或include("con_db.php)

這時(shí),兩個(gè)函數(shù)的效果是差不多的。

但如果這樣用

filename.php

<?php
require("con_db.php")
function myfun($par1,$par2)
{包含對(duì)數(shù)據(jù)庫(kù)處理的語(yǔ)句}
.....
myfun($par1,$par2);
.....
myfun($p1,$p2);
?>

  文件到myfun處將不能繼續(xù)執(zhí)行,因?yàn)楹瘮?shù)里無(wú)法得到外面的變量(include也是一樣的)。除非把$dbh作為一個(gè)變量傳給函數(shù)。這又增加了調(diào)用函數(shù)的復(fù)雜度。

  我們可以通過(guò)把require或include放在函數(shù)里面來(lái)解決這個(gè)問(wèn)題。

  如果用include,文件的第一個(gè)函數(shù)調(diào)用處將順利通過(guò),但第二個(gè)調(diào)用將無(wú)法執(zhí)行,原因是不能在沒(méi)有關(guān)閉數(shù)據(jù)庫(kù)時(shí)在打開(kāi)一次,也就是說(shuō),con_db.php執(zhí)行了兩次。將include換成require,一切都正常。

  也就是說(shuō),require類似于一次預(yù)掃描,在程序執(zhí)行時(shí),無(wú)論在函數(shù)里或是函數(shù)外,都將先把require的文件執(zhí)行,且只執(zhí)行一次。而include則是每執(zhí)行一次就調(diào)用一次文件,即這次執(zhí)行后,下次再執(zhí)行執(zhí)行到這里,仍將再執(zhí)行一次。

    因此,如果在一個(gè)循環(huán)中,某些語(yǔ)句你只想執(zhí)行一次,那你用require包括它們就可以了。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 桃园县| 石棉县| 香港| 长子县| 济宁市| 商水县| 锡林郭勒盟| 博乐市| 赤峰市| 白城市| 清新县| 汉川市| 潼南县| 新邵县| 西乌珠穆沁旗| 禹州市| 芜湖市| 临江市| 巴马| 德钦县| 吉安市| 斗六市| 高安市| 恩平市| 会泽县| 通道| 永吉县| 普安县| 印江| 南京市| 武安市| 万荣县| 沧州市| 巍山| 洛川县| 洞口县| 昭平县| 昭平县| 抚州市| 抚顺市| 大名县|