當前位置:首頁 » 編程語言 » php靜態方法好處

php靜態方法好處

發布時間: 2024-10-28 04:58:03

php中static 靜態變數和普通變數的區別

php中static 靜態變數和普通變數的區別:

在變數的前面加上static 就構成了靜態變數(static 變數)。

static變數和普通變數的區別在於非靜態全局變數的作用域是整個源程序,當一個源程序由多個源文件組成時,非靜態的全局變數在各個源文件中都是有效的。 而靜態全局變數則限制了其作用域, 即只在定義該變數的源文件內有效, 在同一源程序的其它源文件中不能使用它。由於靜態全局變數的作用域局限於一個源文件內,只能為該源文件內的函數公用, 因此可以避免在其它源文件中引起錯誤。

Ⅱ 靜態網站和動態網站的區別,以及動態網站是怎麼實現的

動態網頁的一般特點簡要歸納如下:

(1)動態網頁以資料庫技術為基礎,可以大大降低網站維護的工作量;

(2)採用動態網頁技術的網站可以實現更多的功能,如用戶注冊、用戶登錄、在線調查、用戶管理、訂單管理等等;

(3)動態網頁實際上並不是獨立存在於伺服器上的網頁文件,只有當用戶請求時伺服器才返回一個完整的網頁;

(4)動態網頁中的「?」對搜索引擎檢索存在一定的問題,搜索引擎一般不可能從一個網站的資料庫中訪問全部網頁,或者出於技術方面的考慮,搜索蜘蛛不去抓取網址中「?」後面的內容,因此採用動態網頁的網站在進行搜索引擎推廣時需要做一定的技術處理才能適應搜索引擎的要求

什麼是靜態網頁?靜態網頁有哪些特點?

在網站設計中,純粹HTML格式的網頁通常被稱為「靜態網頁」,早期的網站一般都是由靜態網頁製作的。

也就是以.htm、.html、.shtml、.xml等為後後綴的。在HTML格式的網頁上,也可以出現各種動態的效果,如.GIF格式的動畫、FLASH、滾動字母等,這些「動態效果」只是視覺上的,與下面將要介紹的動態網頁是不同的概念。

我們將靜態網頁的特點簡要歸納如下:

(1)靜態網頁每個網頁都有一個固定的URL,且網頁URL以.htm、.html、.shtml等常見形式為後綴,而不含有「?」;

(2)網頁內容一經發布到網站伺服器上,無論是否有用戶訪問,每個靜態網頁的內容都是保存在網站伺服器上的,也就是說,靜態網頁是實實在在保存在伺服器上的文件,每個網頁都是一個獨立的文件;

(3)靜態網頁的內容相對穩定,因此容易被搜索引擎檢索;

(4)靜態網頁沒有資料庫的支持,在網站製作和維護方面工作量較大,因此當網站信息量很大時完全依靠靜態網頁製作方式比較困難;

(5)靜態網頁的交互性交叉,在功能方面有較大的限制

提起動態主頁的製作,就不能不說到ASP動態網頁技術。細心的讀者會發現很多網站的文件是以*.asp結尾,那麼這個ASP到底是什麼,它與HTML有什麼關系,又是如何工作的呢?不妨一起來看一看。

一、細說ASP

ASP 是Active Server Pages的簡稱,是微軟開發的伺服器端腳本環境,它內含於IIS或PWS中,提供一個用於伺服器端腳本執行的環境,以此來實現動態交互的目的,這也是許多動態網頁技術的共同特徵。本章內容均圍繞 IIS來進行講解,PWS的內容與此大致相同。

ASP的興起似乎是「一夜之間」,到底它有什麼「魔力「呢?

1.無須編譯或鏈接即可執行,可集成於HTML代碼中,有了它,可省去許多繁瑣重復的勞動。

2.與瀏覽器無關:用戶端只要使用可執行HTML代碼的任何瀏覽器(例如IE、Netscape等),即可瀏覽由ASP所設計的主頁內容。所有代碼都是在伺服器端執行,只要寫好代碼,工作伺服器就能搞定一切。

3. 可通過ActiveX Server Components(ActiveX伺服器組件)來擴充功能,而 ActiveX Server Component可使用Visual Basic、Java、Visual C++、COBOL等語言來實現,有了它就可隨意擴展功能。更令人興奮的是,現在網上有很多第三方組件可以隨意下載,想要什麼盡可去Search、去Download,然後放在你的ASP代碼中調用就OK啦。

4.ASP與任何ActiveX Scripting語言兼容。除了可使用VBScript或JavaScript語言來設計之外,還可通過Plug-in的方式,使用由第三方提供的例如REXX、Perl、Tcl等腳本語言,學過動態主頁製作的人都知道它們的重要性。

5.ASP源程序代碼不會在瀏覽過程中被下載到用戶的瀏覽器中,也就是說它對你的代碼進行了保密。太棒了,花了九牛二虎之力做好的東東可不能讓別人輕輕點一下滑鼠就拿走了。

ASP作為一種動態網頁製作技術易學易用,很是讓人心動。接下來我們就來看看ASP是如何工作的,一般來說,ASP文件由3個部分組成:

1.普通的HTML文本(也就是基本網頁的內容)。

2.客戶端的腳本代碼(<script>與</script>之間的程序代碼)。

3.服務端執行的程序代碼(<%……%>之間的程序代碼)。

我們先來看一個簡單的例子:

hello.asp

<% @language=VBScript%>
<html>
<head>
<title>每天不同時刻的問候語</title>
</head>
<body>
<%
dim says
if hour(now)<12 then
says="早上好!"
else
if hour(now)<18 then
says="下午好!"
else
says="晚上好!"
end if
end if
%>
<h1><% =says %></h1><body>
</html>

結果怎麼樣呢?如果瀏覽者是早晨10點打開這個網頁,將會看見「早上好!」的問侯語(圖1),如果是下午14點進入,頁面中則會出現「下午好!」。上面 <%……%>之間的程序由伺服器來執行,而我們常用的腳本則是由客戶端來執行。這個簡單的例子包含了ASP的典型結構,並且強調了ASP的服務端執行,對於我們初學ASP有一定的參考意義。

ASP動態網頁與普通的靜態網頁在顯示上有很大不同,它整個的運行過程可分成以下幾步:

第1步:用戶在瀏覽器的網址欄中輸入.asp文件名稱,並回車觸發這個ASP的請求。

第2步:瀏覽器將這個Active Server Pages的請求發送給IIS。

第3步:IIS接收這個請求並根據其.asp的後綴,意識到這是個ASP請求。

第4步:IIS從硬碟或內存中接收正確的ASP文件。

第5步:IIS將這個文件發送到一個叫ASP.dll的特定文件中。

第6步:ASP文件將會從頭至尾被執行,並根據命令要求生成相應的靜態頁面,生成HTML主頁。

第7步:HTML主頁將被送回瀏覽器。

第8步:HTML主頁將會被用戶瀏覽器解釋執行並顯示在用戶瀏覽器上。

為了清晰地說明問題,以上步驟已經進行了很大簡化。事實上,一個ASP並不一定每次都會重新編譯解釋,如果第二次接受以前的請求,而該請求沒有任何變化,ASP會從數據緩存中提取出以前的結果,而不是再次運行ASP程序,這樣可以大大提高運算速度。

對於伺服器來說,ASP與HTML有著本質的區別,HTML是不經任何處理就被送回給瀏覽器,而ASP的每一條命令都首先被用來生成HTML文件,這也正是ASP允許生成動態內容的原因之一,也是動態網頁復雜之所在。

另一方面,對於瀏覽器來說,ASP和HTML幾乎沒有區別,僅僅是後綴為*.asp和*.htm(或*.html)的不同,當客戶端提出ASP請求後,瀏覽器接受的其實是HTML格式的文件。通過以上一個簡單的ASP例子,有兩點必須記住:有些代碼是在伺服器端執行,有些是在客戶端瀏覽器端執行,而在瀏覽器端看到的是經過伺服器解釋之後輸出的代碼。

二、ASP的基本語法

VBScript是ASP的預設語言,當然也可在 ASP網頁中使用其它腳本語言,如JavaScript、Perl等。這里所有的ASP都使用VBScript,我們將要介紹的也主要是VBScript 的語法知識。相信通過前些期JavaScipt專題的學習,你一定對VBScript駕輕就熟了,其實VBScript跟JavaScript很類似,它是從Visual Basic中簡化出來的版本,作為一種解釋語言,也非常容易學習和使用。

1.將VBScript的腳本集成到ASP中

方法主要有3種:最簡單且最常用的方法是使用兩個特殊字元「<%」和「%>」,只要在使用的VBScipt腳本語句前後加上它們即可,例如:<% Response.write"VBScipt腳本" %>。

第二種方法是在特定的主頁中指定主要的腳本語言,要將這種語言名稱直接放在ASP程序的第一行,例如:

<% @language=VBScript %>
<html>
<body>...
</body></html>

第三種是方法是利用微軟的HTML<Script>拓展對象,這樣就可以在一個單獨的主頁中混合使用多種Script腳本。例如下面的例子:

<% @language="VBScript" %>
<html>
<head><title>ASP Script示例</title></head>
<body>
<script language="JScript" RUNAT="server">
function sayhello()
{
response.write(「混合使用多種script腳本」)
}</script>
<% for I=1 to 10
sayhello()
next
%>
</body>
</html>

需要注意的是,使用<script>包含的腳本會立即執行,無論它放在ASP的任何位置。此外,上面提到的第二和第三種方法,可以在ASP中靈活使用其他的腳本語言,而不只是局限於VBScript。

Ⅲ PHP大型門戶站是用靜態好,還是偽靜態好

你好。大型門戶
一般是生成純靜態html,如果使用偽靜態會佔用一定的CPU使用率,對於大型門戶,這並不合適。
純靜態的好處:
1、載入的時候不需要調用資料庫,打開速度快。
2、減少了伺服器對數據響應的負荷。
3、從安全形度講,純靜態網頁不易遭受黑客攻擊。
4、從網站穩定性來講,即使網站代碼或資料庫出了問題,靜態網站也不會受到影響。
偽靜態的好處:
1、維護方便,網頁每天都自動變化,不用維護或者說極大地減少了維護量。
2、可以方便的實現對搜索引擎的優化,易於被搜索引擎收錄。
3、縮短了url的長度,隱藏文件實際路徑提高了安全性,易於用戶記憶和輸入。
4、占空間比較小,不像純靜態那樣多佔用近過多的空間。
5、安全性能通過url地址隱藏或加密,讓黑客無法找到真實的動態頁面,同時動態文件不需要太高的許可權,從而避免了木馬的注入。
結論:
偽靜態最大的缺點就是會佔用一定量的CPU使用率,增加伺服器的響應時間。
1、既然真偽靜態和偽靜態對搜索引擎的效果一樣,我們就可以選擇偽靜態了,畢竟它的優點是純靜態不可取代的。
2、大量使用偽靜態會照成CPU超負荷,所以我們只要不大量使用就可以了,設計在線使用了相應的編譯緩存技術,己經很好的優化並解決這個問題了。

Ⅳ php怎麼生成靜態頁面

利用模板。目前PHP的模板可以說是很多了,有功能強大的smarty,還有簡單易用的smarttemplate等。它們每一種模板,都有一個獲取輸出內容的函數。我們生成靜態頁面的方法,就是利用了這個函數。用這個方法的優點是,代碼比較清晰,可讀性好。
這里我用smarty做例子,說明如何生成靜態頁:
<?php
require("smarty/Smarty.class.php");
$t = new Smarty;
$t->assign("title","Hello World!");
$content = $t->fetch("templates/index.htm");
//這里的 fetch() 就是獲取輸出內容的函數,現在$content變數裡面,就是要顯示的內容了
$fp = fopen("archives/2005/05/19/0001.html", "w");
fwrite($fp, $content);
fclose($fp);
?>

熱點內容
微信公眾平台緩存 發布:2024-10-28 07:25:15 瀏覽:824
小米電腦怎麼鎖屏密碼 發布:2024-10-28 07:24:34 瀏覽:942
eNSP華為IPv6如何連接伺服器 發布:2024-10-28 06:54:51 瀏覽:557
大部分行李箱的密碼是多少三位數 發布:2024-10-28 06:53:28 瀏覽:294
公網ip文件伺服器 發布:2024-10-28 06:43:24 瀏覽:786
我的世界白熊伺服器怎麼做 發布:2024-10-28 06:35:49 瀏覽:363
訪問外網的軟體 發布:2024-10-28 06:34:27 瀏覽:201
非加密區的是什麼 發布:2024-10-28 06:29:33 瀏覽:77
備份mssql資料庫 發布:2024-10-28 06:29:30 瀏覽:372
安卓隱藏相片如何移出來 發布:2024-10-28 06:24:52 瀏覽:899