第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

以下PHP腳本的執(zhí)行流程是怎樣的?

以下PHP腳本的執(zhí)行流程是怎樣的?

PHP
當(dāng)年話下 2023-04-21 14:09:26
這是兩個(gè)文件:this_one.php    <?php     include_once("other_one.php");    $n1 = $_POST['name'];    $n2 = $_POST['password'];    echo "From this_one.php ".$n1." ".$n2."<br>";    ?><form action="" method="POST">    <input type="text" name="name">    <input type="password" name="password">    <button type="submit" name="Submit">Login</button></form>other_one.php<?php $name = $_POST['name'];$pass = $_POST['password'];echo "From other_one.php".$name." ".$pass."<br>";?>現(xiàn)在,當(dāng)我在某處閱讀時(shí),如果表單操作留空,則 POST 將發(fā)送到腳本本身。other_one.php 也包含在文件 this_one.php 中但是當(dāng)我在瀏覽器中運(yùn)行時(shí),輸出是:From other_one.php hello passFrom this_one.php hello pass一切是如何工作的,為什么會(huì)收到這個(gè)輸出?PS:不要向我解釋它是如何include_once工作的。我所說(shuō)的是,對(duì)于 10 個(gè)進(jìn)程,腳本將從第 1 行一直運(yùn)行到最后,如果我在包含的文件中打開(kāi)一個(gè)到數(shù)據(jù)庫(kù)的連接,這樣我將創(chuàng)建相同的 $connection 實(shí)例 10 次,這將是一項(xiàng)開(kāi)銷。為所有這 10 個(gè)線程共享單個(gè)數(shù)據(jù)庫(kù)實(shí)例的方法是什么?
查看完整描述

1 回答

?
Smart貓小萌

TA貢獻(xiàn)1911條經(jīng)驗(yàn) 獲得超7個(gè)贊

該include指令將指定文件中的代碼帶入作用域。從心理上講,您只需將 include 指令替換為該文件內(nèi)的代碼塊,實(shí)際上并沒(méi)有什么區(qū)別。知道這一點(diǎn),您的代碼實(shí)際上是:


? ? <?php?


? ? //include_once("other_one.php");

? ? $name = $_POST['name'];

? ? $pass = $_POST['password'];


? ? echo "From other_one.php".$name." ".$pass."<br>";


? ? $n1 = $_POST['name'];

? ? $n2 = $_POST['password'];


? ? echo "From this_one.php ".$n1." ".$n2."<br>";

? ? ?>


<form action="" method="POST">

? ? <input type="text" name="name">

? ? <input type="password" name="password">

? ? <button type="submit" name="Submit">Login</button>

</form>

編輯

有四個(gè)指令用于將代碼引入當(dāng)前進(jìn)程/請(qǐng)求的范圍。在我命名它們之前,請(qǐng)注意我說(shuō)的是當(dāng)前流程/請(qǐng)求。如果有 10 個(gè)人點(diǎn)擊了您的登錄頁(yè)面,您將有 10 個(gè)進(jìn)程/請(qǐng)求。同樣,如果 1 個(gè)人點(diǎn)擊您的登錄頁(yè)面 10 次,您也將有 10 個(gè)進(jìn)程/請(qǐng)求。這是 PHP 的本質(zhì),除非您真正注意到性能問(wèn)題,否則我不會(huì)為此擔(dān)心。

這四個(gè)指令是include、include_oncerequire。require_once以 結(jié)尾的指令_once保證所提供的文件只會(huì)被帶入進(jìn)程一次。其他兩個(gè)指令允許每個(gè)進(jìn)程多次包含一個(gè)文件。include和之間的區(qū)別require很微妙,但include如果找不到文件,基本上會(huì)生成可忽略的警告,而require會(huì)拋出致命錯(cuò)誤。

一般來(lái)說(shuō),我個(gè)人總是建議您使用require_oncefor all include?,除非您明確有理由多次引入代碼。例如,如果您有一個(gè)分頁(yè)器小部件需要位于表格的頂部和底部,那么多次包含同一文件是一個(gè)很好的用途。我從來(lái)沒(méi)有使用過(guò)includeorinclude_once因?yàn)槲覠o(wú)法想象一個(gè)包含問(wèn)題的場(chǎng)景對(duì)我來(lái)說(shuō)是可以接受的。

此外,作為旁注,PHP 以一種可能令人驚訝的方式解析文件的路徑。例如,如果您使用include 'file.php';它實(shí)際上并不意味著將文件包含在當(dāng)前目錄中。相反,有一個(gè)管理員可以設(shè)置的可選“包含路徑”(就我而言,可以說(shuō)是遺留原因),并使用該語(yǔ)法首先搜索包含路徑。如果您沒(méi)有包含路徑,或者在該路徑中找不到該文件,使用本地文件夾。出于這個(gè)原因,我建議始終使用“路徑語(yǔ)義”來(lái)包含文件,這幾乎可以歸結(jié)為以句點(diǎn)或正斜杠或諸如__DIR__.


查看完整回答
反對(duì) 回復(fù) 2023-04-21
  • 1 回答
  • 0 關(guān)注
  • 150 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)