導航:首頁 > 編程語言 > php網路編程是什麼

php網路編程是什麼

發布時間:2023-06-12 13:51:43

㈠ 編寫網頁的編程語言有哪些

編寫網頁的編程語言大概有:
1、php
PHP是一個嵌套的縮寫名稱,是英文「超級文本預處理語言」(PHP:Hypertext Preprocessor)的縮寫。PHP是一種HTML內嵌式的語言,與微軟的ASP頗有幾分相似,都是一種在伺服器端執行的「嵌入HTML文檔的腳本語言」,語言的風格有類似於C語言,現在被很多的網站編程人員廣泛的運用。
2、java
Java是一個由Sun公司開發而成的新一代編程語言。是近年來很流行的一種網路編程語言,它由C語言發展而來,是完全面向對象的語言。在與網路的融合中,已顯現出它的強大生命力和廣闊的前景。
3、JSP
JSP(Java Server Pages,Java伺服器頁面)是在Sun Microsystems公司的倡導下,由許多公司共同參與建立的一種新的動態網頁技術標准。它在動態網頁的建設方面具有強大而特殊的功能。Sun公司應用組建「Java社團」的思想開發JSP技術。
4、ASP與ASP.NET
ASP是微軟公司推出的意圖取代CGI的新技術。通過它,用戶可以使用幾乎所有的開發工具來創建和運行互動式的動態網頁。
5、HTML
腳本語言是介於HTML(HyperText Markup Language,超文本標示語言)傳統的HTML是靜態的,為增強網頁的動態功能,一些廠商先後推出了自己的 腳本語言,其中Netscape推出了 (for客戶端和 for服務端兩種),微軟則推出了 和ASP兩種,用於伺服器端和客戶端程序的編寫。
6、ColdFusion
具有計算機天賦的Jeremy Allire便在1995年編寫了一種快速響應且易於編寫的動態腳本語言,叫做coldfusion,一經推出,便震撼整個網路行業。
7、Visual Basic ing Edition
它也是一種HTML嵌入腳本語言

㈡ 如何使用PHP編程

PHP是一門高效的網路編程語言,由於它具有編寫靈活、運行快速等優點,迅速成為Web程序員的首選語言。前不久的一份權威調查表明,現在已經有31.6%的網站使用PHP作為主要的伺服器端編程語言。
但是,要成為一名PHP編程高手卻並不容易。並不像很多人想像的那樣,只要能夠飛快地編寫幾條簡單的代碼去解決一個復雜的問題就是PHP編程高手了,真正的PHP高手還需要考慮更多的其它問題。以下三條准則是一名成熟的PHP程序員在編程中應該首先遵循的准則。
1.懶惰是金
2.編寫漂亮的代碼
3.追求程序的速度,而不是編程的速度
一、懶惰是金
做一個懶惰的程序員嗎?這個想法太奇怪了!因為這個世界上最忙碌的人可能就是計算機程序員了。但正是因為程序員太忙了,所以才應該在編程時學會偷懶。
對於一個程序員來說,懶惰的方法有兩種:其一,大膽使用現成的別人的程序代碼,把這些代碼融入到你自己的程序或者項目中去。其二是編寫一些有用的代碼建立一個函數庫,在將來編寫程序時可以順手拈來,省去了許多重復的勞動,自然就可以懶惰一點了。
這兩種偷懶的方法都非常適合PHP程序員了。
首先,PHP是在自由開放的環境中誕生和成長的一門語言。在世界各地,有成千上萬的程序員,他們一直在為PHP的完美而不斷奮斗,他們也願意和別人分享自己的聰明才智和自己編寫的代碼。你每天都可以從一些PHP網站、郵件列表、新聞組發現大量的優秀的程序代碼。這樣說,我並不是鼓勵你整天等著讓別人為你編寫代碼,但是你可以「站在偉人的肩膀上」,充分發揚「拿來主義」,聰明地應用別人的程序代碼可以節省你大量時間。其次,在PHP中,你可以方便地建立自己的函數庫,這樣可以在你以後編寫程序時省去很多麻煩。
下面筆者為大家介紹幾個通用的函數,這些函數有的來自網上的一些開放源代碼的項目,有的精選自郵件列表。如果你能把它們加入到你自己的函數庫中,遲早你將會發現自己受益無窮。
1.通用資料庫處理函數
和其它的CGI函數相比,PHP的優點之一是具有很強大的資料庫處理能力。但是,在PHP中,對於不同的資料庫都使用一些特定的函數來專門處理,缺少通用的資料庫處理函數。這大大降低了程序代碼的可移植性,這也為初學編程的朋友帶來了很多不便。
在網上,許多程序員都通過封裝類解決了這個問題。他們編寫了統一的函數用來處理任何流行的資料庫——不管是在linux世界深受歡迎的Mysql還是在Windows平台上廣泛流行的SqlServer。就筆者個人來說,非常喜歡使用這些函數,因為可以直接使用一些簡單的諸如"query"、"next_record"之類的函數,而不需要考慮資料庫的連接、資料庫句柄這些復雜的東西,更不需要考慮使用的是何種資料庫。
如果你需要這些函數,你可以通過訪問以下的幾個網址而得到:
http://phplib.netuse.de/
http://phpclasses.UpperDesign.com/browse.html/package/20
http://phpdb.linuxbox.com/
2.變數調試函數
PHP程序的調試一直是一件讓人頭疼的事,它既不像VB等高級語言那樣有集成的編譯調試環境,也不想Perl那樣可以在Linux或者DOS環境下直接運行。其實,我們完全可以通過靈活地使用echo語句來完成對PHP的調試工作。
下面的幾個函數可以讓你隨時查看程序中任何變數的類型及其值。
function ss_array_as_string (&$array, $column = 0) {
$str = "Array(
n";
while(list($var, $val) = each($array)){
for ($i = 0; $i < $column+1; $i++){
$str .= "&nbsp;&nbsp;&nbsp;&nbsp;";
}
$str .= $var. ==> ;
$str .= ss_as_string($val, $column+1)."
n";
}
for ($i = 0; $i < $column; $i++){
$str .= "&nbsp;&nbsp;&nbsp;&nbsp;";
}
return $str.);
}
function ss_object_as_string (&$object, $column = 0) {
if (empty($object->classname)) {
return "$object";
}
else {
$str = $object->classname."(
n";
while (list(,$var) = each($object->persistent_slots)) {
for ($i = 0; $i < $column; $i++){
$str .= "&nbsp;&nbsp;&nbsp;&nbsp;";
}
global $$var;
$str .= $var. ==> ;
$str .= ss_as_string($$var, column+1)."
n";
}
for ($i = 0; $i < $column; $i++){
$str .= "&nbsp;&nbsp;&nbsp;&nbsp;";
}
return $str.);
}
}
function ss_as_string (&$thing, $column = 0) {
if (is_object($thing)) {
return ss_object_as_string($thing, $column);
}
elseif (is_array($thing)) {
return ss_array_as_string($thing, $column);
}
elseif (is_double($thing)) {
return "Double(".$thing.")";
}
elseif (is_long($thing)) {
return "Long(".$thing.")";
}
elseif (is_string($thing)) {
return "String(".$thing.")";
}
else {
return "Unknown(".$thing.")";
}
}
需要的時候,在程序中簡單地加入下面的一條代碼即可查看程序中的所使用的變數(包括數組和對象)的類型和值:
echo ss_as_string($my_variable);
使用下面的語句,我們可以直接查看程序中所有的變數的值:
echo ss_as_string($GLOBALS);
3. 控制Log信息的函數
調試PHP程序的另外一種重要的方法就是查看Log信息。如果能夠方便地控制Log信息的級別以及Log信息的顯示內容,將會給程序調試帶來更多的便利。下面的幾個函數可以方便地實現這個功能。
$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);
}
在上面的函數中,有四個Log級別變數。運行PHP程序時,只有當Log的級別低於預設的級別值時,Log信息才可以被記錄和顯示出來。例如,在程序中加入如下的一條語句:
ss_log_set_level(INFO);
那麼,運行PHP程序時,只有ERROR和INFO級別的LOG信息才能被記錄和顯示出來,DEBUG級的信息則被忽略了。除此之外,我們還可以設定顯示的信息內容,其語句如下:
ss_log(ERROR, "testing level ERROR");
ss_log(INFO, "testing level INFO");
ss_log(DEBUG, "testing level DEBUG");
你也可以隨時使用下面的語句清空LOG信息:
ss_log_reset();
4.速度測試函數

為了優化代碼,我們需要一種可以測試代碼運行時間的方法,從而來選擇最優的代碼。下面的函數可以測試運行代碼所需的時間:
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;
}
現在可以輕松地檢查任何一段代碼的執行時間了,甚至我們可以同時使用多個計時器,只需在使用上述的幾個函數時設定不同的參數作為計時器的名稱就可以了。
5.調試和優化資料庫的操作
對於資料庫來說,運行速度是至關重要的。盡管很多書籍和文章都講授了一些快速運行資料庫的方法,但是所有的方法都必須經過實踐的檢驗。下面我們將把PHPLib函數庫中的query()函數和上面介紹的幾個函數綜合起來編寫成新的query()函數,和原先的函數相比,這個函數增加了運行時間的監測功能。
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;
}

二、編寫漂亮的代碼
1.將後台程序與前端程序分開
在編寫PHP程序時,有些代碼是用來處理一些事務,例如操作資料庫、進行數學運算等,而另外的一些代碼則只是事務處理的結果顯示出來,例如一些使用echo語句將結果以HTML的格式顯示在Web瀏覽器上的PHP代碼以及那些直接嵌入PHP程序的HTML代碼。首先我們應該清晰地區分這兩種代碼,把前者稱為後台程序,把後者稱為前端程序。
因為PHP是一種嵌入式編程語言,也就是說,所有的PHP代碼都可以嵌入到HTML代碼之中,這為程序的編寫帶來了許多便利之處。但是,「物極必反」,如果在一段較長的程序中將PHP代碼和HTML代碼混合編寫,這將使程序雜亂無章,不利於程序的維護和閱讀。所以我們需要盡可能地將這些程序中混雜於HTML代碼中的PHP代碼移植出來,在專門的文件中將這些代碼封裝成函數,然後在HTML代碼中使用include語句來包含這些文件,在適當的位置調用這些函數即可。
這種做法一方面使HTML代碼和PHP代碼都簡單易讀,另一方面因為HTML代碼需要不斷更新,而這種分離的方法可以確保後台程序不會被破壞。
同前端程序不同,後台程序更多追求的是穩定、結構化,極少更改,所以應該認真地設計和管理。其實,在設計台程序時,投入大量時間是值得的,「現在栽樹,以後乘涼」,在以後的設計工作中將可以輕松地使用現在編寫的後台程序。
2.靈活使用包含文件
正如前面所說的那樣,後台程序應當安排在一系列的包含文件中。包含文件可以通過include語句在需要時動態裝入,也可以在php.ini文件中通過使用auto_prepend_file指令預先自動裝入。
如果使用後一種方法的話,雖然取得了一勞永逸的好處,但是也有一些缺點值得我們注意。下面的一段代碼向我們展示了解析一個龐大的包含文件需要一定的時間:
require(timing.inc);
ss_timing_start();
include(test.inc);
ss_timing_stop();
echo
.ss_timing_current().
;
?>
在上面的代碼中,test.inc是一個1000行的包含文件,運行的結果顯示,解析這個包含文件花費了0.6秒鍾,對於一個大型網站來說,這個速度並不是可以忽略不記的。
使用包含文件的另外一個缺點是:如果一個文件中的一個語句發生錯誤,將會使整個網站的PHP程序都無法運行。所以使用起來也及其小心。
其實,對包含文件稍做處理,即可以使包含文件只在需要時進行解析。下面的代碼使abc.inc文件只在程序需要時才作解析:
if ( defined( __LIBA_INC) ) return;
define( __LIBA_INC, 1 );
/*
* 代碼...
*/
?>
3.使用面向對象的編程方法
PHP也是一種面向對象的語言,面向對象的編程方法是優秀的程序員們非常推崇的一種軟體設計方法,在PHP編程中可以充分發揮面向對象語言的優勢,對編程中的對象進行封裝。在前面的代碼中,我們使用了面向對象的方法,例如在管理資料庫時,我們將query()函數封裝進資料庫類中,這極大地方便了代碼的管理,增加了程序的可讀性。
三、追求程序速度,而不是編程的速度
在網站建設中,程序運行速度和網頁下載速度都是關系成敗的重要因素。作為一名Web程序員,應該更加註意代碼的運行速度。下面介紹的幾種方法都在不同程度上提高了代碼的運行速度。
1.使用內嵌的HTML代碼,而不是PHP的echo語句。
因為PHP是一門嵌入式Web編程語言,可以將HTML代碼和PHP代碼相互嵌入。但是很多程序員擔心在HTML代碼中過多的使用""嵌入PHP代碼會多次調用PHP解釋器,從而降低了PHP代碼的運行速度,所以寧願使用PHP的echo語句來輸出HTML代碼,而不直接使用HTML代碼。但事實卻恰恰相反。每一個PHP頁面只調用一次PHP解釋器來解釋所有的PHP代碼,所以,只在需要時才嵌入PHP代碼,而大多數的時候直接使用HTML代碼輸入結果,不但不會降低程序的運行速度,而且因為減少了對echo語句的解析,往往可以提高代碼的運行速度。
下面的一段代碼證明了我們的結論。在這段代碼中,我們使用了前面介紹的時間測試函數。

使用str-replace而不是ereg-replace
習慣使用Perl進行編程的程序員更加願意使用ereg_replace完成字元串替換工作,因為在PHP中ereg_replace的用法和Perl中模式匹配的用法相近。但是,下面的這段代碼證明,使用str_replace 代替 ereg_replace將可以大大提高代碼的運行速度。

測試str_replace和ereg_replace的運行速度

//這段代碼測試str_replace的運行速度

emphasis; ?>

for ($i=0; $i<1000; $i++) {
str_replace(i>, b>, $string).
;
}
?>

//這段代碼測試ereg_replace的運行速度

for ($i=0; $i<1000; $i++) {
ereg_replace(<([/]*)i>, <\1b>, $string).
;
}
?>

//列印結果

結論

使用str_replace的時間 -

使用ereg_pattern的時間 -
運行上面的代碼,得到的結果是:
使用str_replace的時間 - 0.089757
使用ereg_pattern的時間 - 0.248881
從運行的結果我們可以看出使用str_replace替代ereg_replace作為字元串替換函數,極大地提高了代碼的運行速度。
3.注意字元串的引用
PHP和其它很多編程語言一樣,可以使用雙引號("")來引用字元串,也可以使用單引號()。但是在PHP中,如果使用雙引號來引用字元串,那麼PHP解析器將首先分析字元串中有沒有對變數的引用,有變數的話,將對變數進行替換。如果是單引號,則沒有如此復雜——直接將單引號包含起來的所有字元串直接顯示出來。顯然,在PHP編程中,如果使用單引號引用字元串變數要比使用雙引號快速一些。
4.在資料庫中避免使用聯合操作
比起其它的Web編程語言來說,PHP的資料庫功能十分強大。但是在PHP中資料庫的運行仍然是一件十分費時費力的事情,所以,作為一個Web程序員,要盡量減少資料庫的查詢操作,同時應該為資料庫建立適當的索引。另一件值得注意的事情是在用PHP操作資料庫時,盡可能不使用多個數據表的聯合操作,盡管聯合操作可以增強資料庫的查詢功能,但是卻大大增加了伺服器的負擔。
為了說明這個問題,我們可以看看下面的這個簡單的例子。
我們在資料庫中創建了兩個數據表foo和big_foo。在數據表foo中,只有一個欄位,包含了從1-1000之間的所有自然數。數據表big_foo同樣只有一個欄位,但包含了從1-1,000,000之間的全部自然數。所以,從大小上說,big_foo等於foo與它自身進行了聯合操作。
$db->query("select * from foo");
0.032273 secs
$db->next_record();
0.00048999999999999 secs
$db->query("insert into foo values (NULL)");
0.019506 secs
$db->query("select * from foo as a, foo as b");
17.280596 secs
$db->query("select * from foo as a, foo as b where a.id > b.id");
14.645251 secs
$db->query("select * from foo as a, foo as b where a.id = b.id");
0.041269 secs
$db->query("select * from big_foo");
25.393672 secs
從上面操作結果我們可以發現,對於兩個有1000條記錄的數據表進行聯合,其速度並不比對一個1000000條紀錄的大型數據表單獨進行操作快多少。
5.注意include與require的區別
在PHP變成中,include()與require()的功能相同,但在用法上卻有一些不同,include()是有條件包含函數,而require()則是無條件包含函數。例如在下面的一個例子中,如果變數$somgthing為真,則將包含文件somefile:
if($something){
include("somefile");
}
但不管$something取何值,下面的代碼將把文件somefile包含進文件里:
if($something){
require("somefile");
}
下面的這個有趣的例子充分說明了這兩個函數之間的不同。
$i = 1;
while ($i < 3) {
require("somefile.$i");
$i++;
}
在這段代碼中,每一次循環的時候,程序都將把同一個文件包含進去。很顯然這不是程序員的初衷,從代碼中我們可以看出這段代碼希望在每次循環時,將不同的文件包含進來。如果要完成這個功能,必須求助函數include():
$i = 1;
while ($i < 3) {
include("somefile.$i");
$i++;
}
6.注意echo和print的區別
PHP中echo和print的功能也基本相同,但是兩者之間也有細微差別。在PHP代碼中可以把print作為一個普通函數來使用,例如執行下面的代碼後變數$res的值將為1。
$ret = print "Hello World";
這意味著print可用在一些復雜的表達式中,而echo則不行。同樣,在代碼中echo語句的運行速度要略微快於print語句,因為echo語句不要求返回任何數值.

python與php的區別是什麼

Python是什麼?python是一種高級面向對象的編程語言,python具有內置的數據結構,結合動態類型和綁定,是很多程序開發的理想選擇;python還提供對模塊和包的支持,允許系統模塊化和代碼重用。python只需要很少的代碼就能實現很多功能,可讀性高、簡單,是初學者的首選語言。

PHP是什麼?PHP代表超文本預處理器,它是一種伺服器端腳本語言,用於開發動態網站或Web應用程序,PHP可以輕松地與所有主要操作系統上的所有主要web伺服器集成,免費且高效,即便是非技術用戶,可以輕松一些有用的技巧,使他們的網頁更易於管理、有用。
Python和PHP有什麼區別?
構架:Python的框架數量較多,php用戶可以訪問成熟的框架;
領域:python廣泛用於人工智慧、數據科學等科學界領域,php是web開發的首選語言;
社區支持:python目前處於快速增長階段,php有更廣泛的社區支持;
熱度:python在各個方面都有非常不錯的表現,python學習曲線較低;
可讀性:python使用非常嚴格的縮進強制執行,比PHP可讀性更高,而PHP是高度記錄的,遵循經典方法;
類型:python是通用編程語言,PHP是專門用於Web開發的編程語言。

㈣ PHP和HTML語言有什麼區別

簡單的說,HTML是典型的靜態網路編程用語,而PHP則是一種可實現動態的編程語言。

簡單舉例:

<?php
echo"<p>Order processed at".date('H:i,js F Y')."</p>";
?>

在這段代碼中,我們使用PHP語言中內置的函數date()來告訴客戶其訂單被處理的日期和時間。
這段代碼在不同時間運行,會顯示出不同的結果。

PHP中的很多函數也是要結合可擴展函數庫來實現的。

㈤ 什麼是網頁編程

CGI CGI(common Gateway Interface,公共網關介面)。嚴格意義上來說並不算一種網頁編程語言。CGI是信息伺服器主機對外信息服務的標准介面,為了向客戶端提供動態信息而制定。通過專門編寫CGI腳本程序(在CGI控制下運行得程序,通常稱為CGI程序),不僅可以生成靜態的內容,而且可以生成完全無法預見的 動態的內容!比如雅虎、搜狐等搜索引擎提供的強大搜索功能便是利用CGI實現的。CGI腳本程序可以用C、C++等語言在多種平台上進行開發。無需太大修改就可以從一個平台移植到另一個平台上運行,具有很好的兼容性。 ASP與ASP.NET ASP是微軟公司推出的意圖取代CGI的新技術。通過它,用戶可以使用幾乎所有的開發工具來創建和運行互動式的動態網頁,如返饋表單的信息收集處理、文件上傳與下載、聊天室、論壇等等,實現了CGI程序的功能介是又比CGI簡單,而且容易學習。由於ASP使用基於開放設計環境的Active X技術,用戶可以自己定義和製作組件加入其中,使自己的動態網頁具有幾乎無限的擴充能力。它還可利用ADO(Active Data Object,微軟的一種新的數據訪問模型)方便地訪問資料庫,能很好地對數據進行處理。借WINDOWS 東風,ASP得到了長足的發展。 PHP PHP,一個嵌套的縮寫名稱,是英文超級文本預處理語言(PHP:Hypertext Preprocessor)的縮寫。PHP 是一種HTML內嵌式的語言,PHP與微軟的ASP頗有幾分相似,都是一種在伺服器端執行的嵌入HTML文檔的腳本語言,語言的風格有類似於C語言,現在被很多的網站編程人員廣泛的運用。PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創新的語法。它可以比 CGI 或者 Perl 更快速的執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;與同樣是嵌入HTML文檔的腳本語言JavaScript相比,PHP在伺服器端執行,成分利用了伺服器的性能;PHP執行引擎還會將用戶經常訪問的PHP程序駐留在內存中,其他用戶在一次訪問這個程序時就不需要誠信編譯程序了,只要直接執行內存中的代碼就可以了,這也是PHP高效率的體現之一。PHP具有非常強大的功能,所有的CGI或者JavaScript的功能PHP都能實現,而且支持幾乎所有流行的資料庫以及操作系統。 PHP的特性包括: 開放的源代碼:所有的PHP源代碼事實上都可以得到。 PHP是免費的。 基於伺服器端:由於PHP是運行在伺服器端的腳本,可以運行在UNIX、LINUX、WINDOWS下。 嵌入HTML:因為PHP可以嵌入HTML語言,所以學習起來並不困難。 簡單的語言:PHP堅持腳本語言為主,與Java以C++不同。 效率高:PHP消耗相當少的系統資源。 圖像處理:用PHP動態創建圖像 網路搜索 地攤會 Script 腳本語言是介於HTML(HyperText Markup Language,超文本標示語言)和Java、C++和Visual Basic之類的編程語言之間的語言。它的語法和規則沒有可編譯的編程語言那樣嚴格和復雜。傳統的HTML是靜態的,為增強網頁的動態功能,一些廠商先後推出了自己的Script腳本語言,其中Netscape推出了JavaScript(for客戶端和 for服務端兩種),微軟則推出了VBScript和ASP兩種,用於伺服器端和客戶端程序的編寫。 JavaScript JavaScript是一種基於對象(Object)和事件驅動(Event Driven)並具有安全性能的腳本語言。它與Java不同:JavaScript主要用於HTML的頁面,腳本嵌入在HTML的源碼中;而Java是一個獨立的、完整的編程語言,既可以在Web中應用,也可以用於與Web網無關的情況。另外,JavaS cript編寫的程序不必在運行前編譯,它們可以直接寫入Web頁面中並由調用它們的瀏覽器來解釋執行。這樣,一些基本交互作用就不用在伺服器端完成,提高了客戶端的響應時間。 VBScript 為了適應Internet上的應用,Microsoft公司把用於應用程序描述的Visual Basic語言壓縮成一個更合理的子集,稱為Visual Basic Scripting Edition,簡稱VBScript。它也是一種HTML嵌入腳本語言,具有易學易用等特點。如果你已了解Visual Basic或Visual Basic for Applications,就會很快熟悉VBScript。Microsoft公司將VBScript語言作為實施其ActiveX腳本化的最佳選擇,用戶可以採用小的相互操作的部件一起來完成工作,使得應用程序的功能列加強大。 Perl Perl是Practical Extraction and Report Language(實用摘錄和報告語言)的縮寫,由Larry Wall於1986年開發成功。當初的目的主要是Unix環境下從多個文本文件中產生報表,後來成為許多程序員工具箱中最受歡迎的工具,其發展速度和Unix內核的成長速度相仿。現在Perl已經發展到5.0版本,並移植到了各種平台。 Python 是一種跨平台的開發語言,它可以運行在已知的各種操作系統之上,包括windows、Mac OS、Unix、BSD、Palm等。python是一種支持擴展的開發語言,主要的擴展變種有CPython、JPython、PerlPython。它們分別使用C、Java、Perl做它的擴展介面基礎環境的。更准確的說,Python也可以是一種 跨語言的語言。 ColdFusion 美國的一對兄弟allire,在為自己的客戶解決資料庫訪問的問題時,感覺到了cgi程序在編寫和維護上的難度是不能容忍的困難。於是,具有計算機天賦的Jeremy Allire便在1995年編寫了一種快速響應且易於編寫的動態腳本語言,叫做coldfusion,一經推出,便震撼整個網路行業。之後,兄弟倆看到了coldfusion的發展前途,便成立了Allire公司(後來被macromedia收購)。之後 的幾年,全球500強中的一半都採用了coldfusion來解決公司不同情況的問題。通過不斷的版本修改和開發者的不斷壯大,Coldfusion後來發展成為業界知名的企業級解決方案的開發首選。現在,為了產品線的統一,為了工業標準的統一,為了完全 兼容Java平台,Macromedia發布了ColdfusionMX。而眾位以前經常看到的Neo這個詞則是macromedia對於使用新一代coldfusion開發行業解決方案的編碼名稱。 Java Java是一個由Sun公司開發而成的新一代編程語言。是近年來很流行的一種網路編程語言,它由C語言發展而來,是完全面向對象的語言。在與網路的融合中,已顯現出它的強大生命力和廣闊的前景。Java的語法簡練,學習和掌握比較容易,使用它可在各式各樣不同種機器、不同種操作平台的網路環境中開發軟體。Java正在逐步成為Internet應用的主要開發語言。它徹底改變了應用軟體的開發模式,帶來了自PC機以來又一次技術革命,為迅速發展的信息世界增添了新的活力。 您在編程實踐中是否常常碰到要為不同的系統平台重復編程(比如為Windows系統設計一套程序,UNIX系統設計一套程序)? Sun Microsystems公司的Java語言以其"一次編程,到處執行"的技術優勢,廣泛應用於Internet計算機環境下的編程應用,避免您針對不同的系統平台重復編程,減少您的企業的開發成本。 JSP JSP(Java Server Pages,Java伺服器頁面)是在Sun Microsystems公司的倡導下,由許多公司共同參與建立的一種新的動態網頁技術標准。它在動態網頁的建設方面具有強大而特殊的功能。Sun公司應用組建「Java社團」的思想開發JSP技術。在開發JSP規范的過程中,Sun公司與許多主要的Web伺服器、Web應用伺服器和開發工具供應商,以及各種各樣富有經驗的開發團體進行合作,找到了一種適合於應用和頁面開發人員的開發方法,它具有極佳的可移植性和易用性。針對JSP的產品,Sun公司授權予工具提供商(如Macromedia)、結盟公司(如Apache,Netscape)、最終用戶、協作商及其他人。最近,Sun公司將最新版本的JSP和Java Servlet(JSP 1.1,Java Servlet 2.2)的源代碼發放給Apache,以求JSP和Apache緊密結合、共同發展。Apache,Sun公司和許多其他的公司及個人公開成立的咨詢機構更能方便任何公司和個人免費取得信息。 XML XML開發者源於SGML的設計和應用者. 他們已經在SGML上投入了大量精力,但他們卻發現SGML 並沒有完全發揮它的作用.他們當然有其充分的理由.我們可以列舉以下幾個重要方面給大家.在這些方面SGML 帶來的影響可以說是一場革命. SGML (通用標記語言標准ISO 8879:1986)是HTML的前身技術.它是文件和文件中信息的構成主體. SGML與HTML不同.它允許用戶擴展tag集合, 允許用戶建立一定的規則. SGML所產生的tag 集合是用來描敘信息段特徵的.而HTML僅僅只是一個tag集合.所以我們可以說HTML是一個SGML的子集. 早在Seattle會議之前,Bosak和一些精心挑選的SGML結構信息專家就已向W3C提出了「網路上的SGML」計劃. W3C支持並贊助了他們的努力. 工作於1996年7月正式開始起動. 工作的早期,有較大的阻力.因為也存在反對SGML的人.一些制定XML標準的W3C代表甚至聲稱「網路上的SGML」是不可能實現.工作組(原稱「SGML編輯審議委員會」)並未退縮.他們打算讓SGML以全新的面目出現在網上,給SGML以全新的面貌,故給它命名為「可擴展標識語言」,即XML.

㈥ 如何使用PHP編程說明

PHP是一門高效的網路編程語言 由於它具有編寫靈活 運行快速等優點 迅速成為Web程序員的首選語言 前不久的一份權威調查表明 現在已經有 %的網站使用PHP作為主要的伺服器端編程語言

但是 要成為一名PHP編程高手卻並不容易 並不像很多人想像的那樣 只要能夠飛快地編寫幾條簡單的代碼去解決一個復雜的問題就是PHP編程高手了 真正的PHP高手還需要考慮更多的其它問題 以下三條准則是一名成熟的PHP程序員在編程中應該首先遵循的准則

懶惰是金

編寫漂亮的代碼

追求程序的速度 而不是編程的速度

一 懶惰是金

做一個懶惰的程序員嗎?這個想法太奇怪了!因為這個世界上最忙碌的人可能就是計算機程序員了 但正是因為程序員太忙了 所以才應該在編程時學會偷懶

對於一個程序員來說 懶惰的方法有兩種 其一 大膽使用現成的別人的程序代碼 把這些代碼融入到你自己的程序或者項目中去 其二是編寫一些有用的代碼建立一個函數庫 在將來編寫程序時可以順手拈來 省去了許多重復的勞動 自然就可以懶惰一點了

這兩種偷懶的方法都非常適合PHP程序員了

首先 PHP是在自由開放的環境中誕生和成長的一門語言 在世界各地 有成千上萬的程序員 他們一直在為PHP的完美而不斷奮斗 他們也願意和別人分享自己的聰明才智和自己編寫的代碼 你每天都可以從一些PHP網站 郵件列表 新聞組發現大量的優秀的程序代碼 這樣說 我並不是鼓勵你整天等著讓別人為你編寫代碼 但是你可以 站在偉人的肩膀上 充分發揚 拿來主義 聰明地應用別人的程序代碼可以節省你大量時間 其次 在PHP中 你可以方便地建立自己的函數庫 這樣可以在你以後編寫程序時省去很多麻煩

下面筆者為大家介紹幾個通用的函數 這些函數有的來自網上的一些開放源代碼的項目 有的精選自郵件列表 如果你能把它們加入到你自己的函數庫中 遲早你將會發現自己受益無窮

通用資料庫處理函數

和其它的CGI函數相比 PHP的優點之一是具有很強大的資料庫處理能力 但是 在PHP中 對於不同的資料庫都使用一些特定的函數來專門處理 缺少通用的資料庫處理函數 這大大降低了程序代碼的可移植性 這也為初學編程的朋友帶來了很多不便

在網上 許多程序員都通過封裝類解決了這個問題 他們編寫了統一的函數用來處理任何流行的資料庫——不管是在Linux世界深受歡迎的mysql_query($Query_String $this->Link_ID);ss_timing_stop();ss_log(INFO ss_timing_current() Secs - $Query_String);$this->Row = ;$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; }

二 編寫漂亮的代碼

將後台程序與前端程序分開

在編寫PHP程序時 有些代碼是用來處理一些事務 例如操作資料庫 進行數學運算等 而另外的一些代碼則只是事務處理的結果顯示出來 例如一些使用echo 語句將結果以HTML的格式顯示在Web瀏覽器上的PHP代碼以及那些直接嵌入PHP程序的HTML代碼 首先我們應該清晰地區分這兩種代碼 把前者稱為後台程序 把後者稱為前端程序

因為PHP是一種嵌入式編程語言 也就是說 所有的PHP代碼都可以嵌入到HTML代碼之中 這為程序的編寫帶來了許多便利之處 但是 物極必反 如果在一段較長的程序中將PHP代碼和HTML代碼混合編寫 這將使程序雜亂無章 不利於程序的維護和閱讀 所以我們需要盡可能地將這些程序中混雜於HTML代碼中的PHP代碼移植出來 在專門的文件中將這些代碼封裝成函數 然後在HTML代碼中使用 include語句來包含這些文件 在適當的位置調用這些函數即可

這種做法一方面使HTML代碼和PHP代碼都簡單易讀 另一方面因為HTML代碼需要不斷更新 而這種分離的方法可以確保後台程序不會被破壞 同前端程序不同 後台程序更多追求的是穩定 結構化 極少更改 所以應該認真地設計和管理 其實 在設計台程序時 投入大量時間是值得的 現在栽樹 以後乘涼 在以後的設計工作中將可以輕松地使用現在編寫的後台程序

靈活使用包含文件

正如前面所說的那樣 後台程序應當安排在一系列的包含文件中 包含文件可以通過include語句在需要時動態裝入 也可以在php ini文件中通過使用auto_prepend_file指令預先自動裝入 如果使用後一種方法的話 雖然取得了一勞永逸的好處 但是也有一些缺點值得我們注意 下面的一段代碼向我們展示了解析一個龐大的包含文件需要一定的時間

require(timing inc); ss_timing_start(); include(test inc); ss_timing_stop(); echo ss_timing_current() ?>

在上面的代碼中 test inc是一個 行的包含文件 運行的結果顯示 解析這個包含文件花費了 秒鍾 對於一個大型網站來說 這個速度並不是可以忽略不記的

使用包含文件的另外一個缺點是 如果一個文件中的一個語句發生錯誤 將會使整個網站的PHP程序都無法運行 所以使用起來也及其小心

其實 對包含文件稍做處理 即可以使包含文件只在需要時進行解析 下面的代碼使abc inc文件只在程序需要時才作解析

if ( defined( __LIBA_INC) ) return; define( __LIBA_INC ); /* * 代碼 */ ?>

使用面向對象的編程方法

PHP 也是一種面向對象的語言 面向對象的編程方法是優秀的程序員們非常推崇的一種軟體設計方法 在PHP編程中可以充分發揮面向對象語言的優勢 對編程中的對象進行封裝 在前面的代碼中 我們使用了面向對象的方法 例如在管理資料庫時 我們將query()函數封裝進資料庫類中 這極大地方便了代碼的管理 增加了程序的可讀性

三 追求程序速度 而不是編程的速度

在網站建設中 程序運行速度和網頁下載速度都是關系成敗的重要因素 作為一名Web程序員 應該更加註意代碼的運行速度 下面介紹的幾種方法都在不同程度上提高了代碼的運行速度

使用內嵌的HTML代碼 而不是PHP的echo語句

因為PHP是一門嵌入式Web編程語言 可以將HTML代碼和PHP代碼相互嵌入 但是很多程序員擔心在HTML代碼中過多的使用 嵌入PHP代碼會多次調用PHP解釋器 從而降低了PHP代碼的運行速度 所以寧願使用PHP的echo語句來輸出HTML代碼 而不直接使用HTML代碼 但事實卻恰恰相反 每一個PHP頁面只調用一次PHP解釋器來解釋所有的PHP代碼 所以 只在需要時才嵌入PHP代碼 而大多數的時候直接使用HTML代碼輸入結果 不但不會降低程序的運行速度 而且因為減少了對echo語句的解析 往往可以提高代碼的運行速度

下面的一段代碼證明了我們的結論 在這段代碼中 我們使用了前面介紹的時間測試函數

使用str-replace而不是ereg-replace 習慣使用Perl進行編程的程序員更加願意使用ereg_replace完成字元串替換工作 因為在PHP中ereg_replace的用法和Perl中模式匹配的用法相近 但是 下面的這段代碼證明 使用str_replace 代替 ereg_replace將可以大大提高代碼的運行速度

測試str_replace和ereg_replace的運行速度

//這段代碼測試str_replace的運行速度 emphasis; ?> for ($i= ; $i< ; $i++) {str_replace(i> b> $string) } ?>

//這段代碼測試ereg_replace的運行速度 for ($i= ; $i< ; $i++) {ereg_replace(<([/]*)i> < b> $string) } ?> //列印結果

結論

使用str_replace的時間 - 使用ereg_pattern的時間 -

運行上面的代碼 得到的結果是

使用str_replace的時間 - 使用ereg_pattern的時間 -

從運行的結果我們可以看出使用str_replace替代ereg_replace作為字元串替換函數 極大地提高了代碼的運行速度

注意字元串的引用

PHP 和其它很多編程語言一樣 可以使用雙引號( )來引用字元串 也可以使用單引號() 但是在PHP中 如果使用雙引號來引用字元串 那麼PHP解析器將首先分析字元串中有沒有對變數的引用 有變數的話 將對變數進行替換 如果是單引號 則沒有如此復雜——直接將單引號包含起來的所有字元串直接顯示出來 顯然 在PHP編程中 如果使用單引號引用字元串變數要比使用雙引號快速一些

在資料庫中避免使用聯合操作

比起其它的Web編程語言來說 PHP的資料庫功能十分強大 但是在PHP中資料庫的運行仍然是一件十分費時費力的事情 所以 作為一個Web程序員 要盡量減少資料庫的查詢操作 同時應該為資料庫建立適當的索引 另一件值得注意的事情是在用PHP操作資料庫時 盡可能不使用多個數據表的聯合操作 盡管聯合操作可以增強資料庫的查詢功能 但是卻大大增加了伺服器的負擔

為了說明這個問題 我們可以看看下面的這個簡單的例子

我們在資料庫中創建了兩個數據表foo和big_foo 在數據表foo中 只有一個欄位 包含了從 - 之間的所有自然數 數據表big_foo同樣只有一個欄位 但包含了從 - 之間的全部自然數 所以 從大小上說 big_foo等於foo與它自身進行了聯合操作

$db->query( select * from foo ); secs $db->next_record(); secs $db->query( insert into foo values (NULL) ); secs $db->query( select * from foo as a foo as b ); secs $db->query( select * from foo as a foo as b where a id > b id ); secs $db->query( select * from foo as a foo as b where a id = b id ); secs $db->query( select * from big_foo ); secs

從上面操作結果我們可以發現 對於兩個有 條記錄的數據表進行聯合 其速度並不比對一個 條紀錄的大型數據表單獨進行操作快多少

注意include與require的區別

在PHP變成中 include()與require()的功能相同 但在用法上卻有一些不同 include()是有條件包含函數 而require()則是無條件包含函數 例如在下面的一個例子中 如果變數$somgthing為真 則將包含文件somefile

if($something){include( somefile ); }

但不管$something取何值 下面的代碼將把文件somefile包含進文件里

if($something){require( somefile ); }

下面的這個有趣的例子充分說明了這兩個函數之間的不同

$i = ; while ($i < ) {require( somefile $i );$i++; }

在這段代碼中 每一次循環的時候 程序都將把同一個文件包含進去 很顯然這不是程序員的初衷 從代碼中我們可以看出這段代碼希望在每次循環時 將不同的文件包含進來 如果要完成這個功能 必須求助函數include()

$i = ; while ($i < ) { include( somefile $i ); $i++; }

注意echo和print的區別

PHP中echo和print的功能也基本相同 但是兩者之間也有細微差別 在PHP代碼中可以把print作為一個普通函數來使用 例如執行下面的代碼後變數$res的值將為 $ret = print Hello World ;

lishixin/Article/program/PHP/201405/30767

㈦ 什麼是網路編程它是做什麼的 是怎樣的工作

通過使用套接字來達到進程間通信目的編程就是網路編程。
代碼,開發工具,資料庫,伺服器架設和網頁設計這5部分你都要接觸
代碼分靜態代碼和動態代碼
靜態代碼是伺服器不解析直接發送給客戶端的部分,用做布局效果,一般不用於資料庫操作
靜態代碼分html,javascript,css等,其中html語言是基礎,要學網路編程就先學html語言.javascript用於實現某些特效,css是樣式語言.這3個語言組合起來,可以設計出美妙的網頁效果
動態代碼是伺服器需要解析的部分,用作資料庫連接操作等.有php,jsp,asp和asp.net.這幾種語言你只用先學一種就可.如果是想快速入門,建議先學asp,如果想學了找工作等,建議學php或jsp,
開發工具有很多種,我推薦一種,網路3劍客,其中dw是開發代碼的,fw是做圖的.flash是做動畫的.
資料庫要結合你學的動態語言來選擇,asp和asp.net系列的,你可以使用access,大型點使用mssql.
php和mysql是很好的搭檔.
伺服器架設也是結合你學的動態語言的,windows下安裝iis很方便,iis可以運行asp,安裝.net框架後能運行asp.net.這兩者架設相對簡單,也是我推薦你入門學asp的原因.php一般安裝apache伺服器,jsp一般安裝tomat伺服器.只有架設好伺服器,才能瀏覽動態語言編寫的程序.
雖然是編程,但是總會涉及到網頁設計部分,還是要去學學怎麼簡單的作圖和動畫。

㈧ 什麼是網路編程什麼是系統編程跟普通編程有什麼區別如果編程入門應該學哪種

網路編程和系統編程都只是軟體開發的一部分。網路編程主要是網路通信(比如說你的軟體要獲取網路數據,即時通訊等),系統編程主要是你開發的軟體基於的系統層次的(本地文件讀寫,基於系統的調用之類的)。如果你想搞軟體開發這兩個基本都要用到的。
以上基本是軟體開發,開發語言C/C+/OC/JAVA之類的,每個語言都有不同的實現。
編程的話還有其他的網頁編程,使用ASP, PHP等;還有資料庫開發之類的。
想做軟體開發,入門學C,然後看具體方向,想做什麼平台,用什麼開發環境等。網頁開發去學ASP,PHP,javascript之類的。資料庫學ORCAL, SQL之類的。

㈨ php是干什麼用的

PHP,一個嵌套的縮寫名稱,是英文超級文本預處理語言(PHP:Hypertext Preprocessor)的縮寫。PHP 是一種 HTML 內嵌式的語言,PHP與微軟的ASP頗有幾分相似,都是一種在伺服器端執行的嵌入HTML文檔的腳本語言,語言的風格有類似於C語言,現在被很多的網站編程人員廣泛的運用。
PHP 獨特的語法混合了C、Java、Perl 以及 PHP 自創新的語法。它可以比 CGI 或者 Perl 更快速的執行動態網頁。PHP是全球范圍內應用廣泛的開發語言,PHP因其開發周期短、免費、穩定、安全、簡單易學、跨平台性等因素入選全球五大受歡迎的編程語言!

閱讀全文

與php網路編程是什麼相關的資料

熱點內容
pubg用什麼伺服器 瀏覽:526
田漢pdf 瀏覽:661
記錄儀如何安裝安卓系統 瀏覽:594
python求灰度均值 瀏覽:756
c編譯器是系統軟體嗎 瀏覽:694
獲取伺服器內網地址 瀏覽:536
新手媽媽如何帶新生兒APP 瀏覽:157
java日程管理 瀏覽:376
高清視頻鏈接加密 瀏覽:407
新買的阿里雲伺服器怎麼配置 瀏覽:612
在線編譯器為什麼刷新還在 瀏覽:212
雲伺服器系統盤可以裝資料庫 瀏覽:906
php繪制圖形 瀏覽:588
支付伺服器異常怎麼辦 瀏覽:76
java撥號 瀏覽:867
er5200如何設置虛擬伺服器 瀏覽:571
網路中心伺服器叫什麼 瀏覽:459
isplay單片機下載器 瀏覽:481
怎麼查看伺服器地址和埠 瀏覽:187
加密朋克ai 瀏覽:157