超碰在线天天性国产视频|无码人妻玩麻豆中出一区有奶水|日日日日日日日日日日日日网96|91视频农村妇女网站|精品美女日本一区|日韩无码一区视频|精品素人AV婷婷色视频|日本精品视频手机在线|少妇高清无码一二区|激情四射综合婷婷

貨幣問答:php是做什么的

四首神君

PHP模型是干什么的?

一般指數(shù)據(jù)庫操作,當(dāng)然也可以使其他的!將操作數(shù)據(jù)庫(可以是具體的表)的一些方法集中一起就形成的模型。

怎樣去定義一個模型?又如何去調(diào)用一個模型呢?
用到模型操作的一般是要用到框架之類的,你也可以自己寫一個框架,MVC就行了,M就代表了模型。各種不樣的PHP框架定義模型差別不大,一般就是定義一個類文件,文件名和類名一樣,不同框架可能要求首字母大小需要控制一下,繼承的類一般都是框架定義好的一個模型接口。如CI(codeigniter)中定義模型:class User extends CI_Model{    public $table = 'user';        function __construct()    {        parent::__construct();    }     function getTable()    {        return $this->table;    }}

推薦
不推薦
展開
收起
馬三強

PHP網(wǎng)站工程師是干什么的

用php語言做網(wǎng)站開發(fā)的孩紙~...

推薦
不推薦
展開
收起
五行

什么是php程序員,能說的通俗點嗎? 到底是干什么的 學(xué)這個難不

通俗點說就是主要使用php語言進(jìn)行編程的程序員。到底是干什么的。就是做企事業(yè)單位網(wǎng)站或者專業(yè)辦公系統(tǒng)的。還有一塊是微信公眾號或者手機網(wǎng)站開發(fā)。學(xué)這個難不難這個嗎。所謂難者不會會者不難,看你的悟性還有學(xué)習(xí)功底。另其實光學(xué)php是沒有用的,沒法滿足客戶需求。除了php以外,還要學(xué)習(xí) div+css+jquery+mysql+js+ajax 然后現(xiàn)在主流的還得會微信功能開發(fā),你要是進(jìn)某些公司還要求你有php框架的經(jīng)驗?;蛘呤莗hp原生在線項目。

推薦
不推薦
展開
收起
妙真觀

php的sockets是做什么用的

HP 使用Berkley的socket庫來創(chuàng)建它的連接。你可以知道socket只不過是一個數(shù)據(jù)結(jié)構(gòu)。你使用這個socket數(shù)據(jù)結(jié)構(gòu)去開始一個客戶端和服務(wù)器之間的會話。這個服務(wù)器是一直在監(jiān)聽準(zhǔn)備產(chǎn)生一個新的會話。當(dāng)一個客戶端連接服務(wù)器,它就打開服務(wù)器正在進(jìn)行監(jiān)聽的一個端口進(jìn)行會話。這時,服務(wù)器端接受客戶端的連接請求,那么就進(jìn)行一次循環(huán)?,F(xiàn)在這個客戶端就能夠發(fā)送信息到服務(wù)器,服務(wù)器也能發(fā)送信息給客戶端。產(chǎn)生一個Socket,你需要三個變量:一個協(xié)議、一個socket類型和一個公共協(xié)議類型。產(chǎn)生一個socket有三種協(xié)議供選擇,繼續(xù)看下面的內(nèi)容來獲取詳細(xì)的協(xié)議內(nèi)容。定義一個公共的協(xié)議類型是進(jìn)行連接一個必不可少的元素。下面的表我們看看有那些公共的協(xié)議類型。表一:協(xié)議名字/常量 描述AF_INET 這是大多數(shù)用來產(chǎn)生socket的協(xié)議,使用TCP或UDP來傳輸,用在IPv4的地址AF_INET6 與上面類似,不過是來用在IPv6的地址AF_UNIX 本地協(xié)議,使用在Unix和Linux系統(tǒng)上,它很少使用,一般都是當(dāng)客戶端和服務(wù)器在同一臺及其上的時候使用表二:Socket類型名字/常量 描述SOCK_STREAM 這個協(xié)議是按照順序的、可靠的、數(shù)據(jù)完整的基于字節(jié)流的連接。這是一個使用最多的socket類型,這個socket是使用TCP來進(jìn)行傳輸。SOCK_DGRAM 這個協(xié)議是無連接的、固定長度的傳輸調(diào)用。該協(xié)議是不可靠的,使用UDP來進(jìn)行它的連接。SOCK_SEQPACKET 這個協(xié)議是雙線路的、可靠的連接,發(fā)送固定長度的數(shù)據(jù)包進(jìn)行傳輸。必須把這個包完整的接受才能進(jìn)行讀取。SOCK_RAW 這個socket類型提供單一的網(wǎng)絡(luò)訪問,這個socket類型使用ICMP公共協(xié)議。(ping、traceroute使用該協(xié)議)SOCK_RDM 這個類型是很少使用的,在大部分的操作系統(tǒng)上沒有實現(xiàn),它是提供給數(shù)據(jù)鏈路層使用,不保證數(shù)據(jù)包的順序表三:公共協(xié)議名字/常量 描述ICMP 互聯(lián)網(wǎng)控制消息協(xié)議,主要使用在網(wǎng)關(guān)和主機上,用來檢查網(wǎng)絡(luò)狀況和報告錯誤信息UDP 用戶數(shù)據(jù)報文協(xié)議,它是一個無連接,不可靠的傳輸協(xié)議TCP 傳輸控制協(xié)議,這是一個使用最多的可靠的公共協(xié)議,它能保證數(shù)據(jù)包能夠到達(dá)接受者那兒,如果在傳輸過程中發(fā)生錯誤,那么它將重新發(fā)送出錯數(shù)據(jù)包?,F(xiàn)在你知道了產(chǎn)生一個socket的三個元素,那么我們就在php中使用socket_create()函數(shù)來產(chǎn)生一個socket。這個 socket_create()函數(shù)需要三個參數(shù):一個協(xié)議、一個socket類型、一個公共協(xié)議。socket_create()函數(shù)運行成功返回一個包含socket的資源類型,如果沒有成功則返回false。Resourece socket_create(int protocol, int socketType, int commonProtocol);現(xiàn)在你產(chǎn)生一個socket,然后呢?php提供了幾個操縱socket的函數(shù)。你能夠綁定socket到一個IP,監(jiān)聽一個socket的通信,接受一個socket;現(xiàn)在我們來看一個例子,了解函數(shù)是如何產(chǎn)生、接受和監(jiān)聽一個socket。<?php$commonProtocol = getprotobyname(“tcp”);$socket = socket_create(AF_INET, SOCK_STREAM, $commonProtocol);socket_bind($socket, ‘localhost’, 1337);socket_listen($socket);// More socket functionality to come?>上面這個例子產(chǎn)生一個你自己的服務(wù)器端。例子第一行,$commonProtocol = getprotobyname(“tcp”);使用公共協(xié)議名字來獲取一個協(xié)議類型。在這里使用的是TCP公共協(xié)議,如果你想使用UDP或者ICMP協(xié)議,那么你應(yīng)該把getprotobyname() 函數(shù)的參數(shù)改為“udp”或“icmp”。還有一個可選的辦法是不使用getprotobyname()函數(shù)而是指定SOL_TCP或SOL_UDP在 socket_create()函數(shù)中。$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);例子的第二行是產(chǎn)生一個socket并且返回一個socket資源的實例。在你有了一個socket資源的實例以后,你就必須把socket綁定到一個IP地址和某一個端口上。socket_bind($socket, ‘localhost’, 1337);在這里你綁定socket到本地計算機(127.0.0.1)和綁定socket到你的1337端口。然后你就需要監(jiān)聽所有進(jìn)來的socket連接。socket_listen($socket);在第四行以后,你就需要了解所有的socket函數(shù)和他們的使用。表四:Socket函數(shù)函數(shù)名 描述socket_accept() 接受一個Socket連接socket_bind() 把socket綁定在一個IP地址和端口上socket_clear_error() 清除socket的錯誤或者最后的錯誤代碼socket_close() 關(guān)閉一個socket資源socket_connect() 開始一個socket連接socket_create_listen() 在指定端口打開一個socket監(jiān)聽socket_create_pair() 產(chǎn)生一對沒有區(qū)別的socket到一個數(shù)組里socket_create() 產(chǎn)生一個socket,相當(dāng)于產(chǎn)生一個socket的數(shù)據(jù)結(jié)構(gòu)socket_get_option() 獲取socket選項socket_getpeername() 獲取遠(yuǎn)程類似主機的ip地址socket_getsockname() 獲取本地socket的ip地址socket_iovec_add() 添加一個新的向量到一個分散/聚合的數(shù)組socket_iovec_alloc() 這個函數(shù)創(chuàng)建一個能夠發(fā)送接收讀寫的iovec數(shù)據(jù)結(jié)構(gòu)socket_iovec_delete() 刪除一個已經(jīng)分配的iovecsocket_iovec_fetch() 返回指定的iovec資源的數(shù)據(jù)socket_iovec_free() 釋放一個iovec資源socket_iovec_set() 設(shè)置iovec的數(shù)據(jù)新值socket_last_error() 獲取當(dāng)前socket的最后錯誤代碼socket_listen() 監(jiān)聽由指定socket的所有連接socket_read() 讀取指定長度的數(shù)據(jù)socket_readv() 讀取從分散/聚合數(shù)組過來的數(shù)據(jù)socket_recv() 從socket里結(jié)束數(shù)據(jù)到緩存socket_recvfrom() 接受數(shù)據(jù)從指定的socket,如果沒有指定則默認(rèn)當(dāng)前socketsocket_recvmsg() 從iovec里接受消息socket_select() 多路選擇socket_send() 這個函數(shù)發(fā)送數(shù)據(jù)到已連接的socketsocket_sendmsg() 發(fā)送消息到socketsocket_sendto() 發(fā)送消息到指定地址的socketsocket_set_block() 在socket里設(shè)置為塊模式socket_set_nonblock() socket里設(shè)置為非塊模式socket_set_option() 設(shè)置socket選項socket_shutdown() 這個函數(shù)允許你關(guān)閉讀、寫、或者指定的socketsocket_strerror() 返回指定錯誤號的詳細(xì)錯誤socket_write() 寫數(shù)據(jù)到socket緩存socket_writev() 寫數(shù)據(jù)到分散/聚合數(shù)組(注: 函數(shù)介紹刪減了部分原文內(nèi)容,函數(shù)詳細(xì)使用建議參考英文原文,或者參考PHP手冊)以上所有的函數(shù)都是PHP中關(guān)于socket的,使用這些函數(shù),你必須把你的socket打開,如果你沒有打開,請編輯你的php.ini文件,去掉下面這行前面的注釋:extension=php_sockets.dll如果你無法去掉注釋,那么請使用下面的代碼來加載擴展庫:<?phpif(!extension_loaded(‘sockets’)){if(strtoupper(substr(PHP_OS, 3)) == “WIN”){dl(‘php_sockets.dll’);}else{dl(‘sockets.so’);}}?>如果你不知道你的socket是否打開,那么你可以使用phpinfo()函數(shù)來確定socket是否打開。你通過查看phpinfo信息了解socket是否打開。如下圖:查看phpinfo()關(guān)于socket的信息◆ 產(chǎn)生一個服務(wù)器現(xiàn)在我們把第一個例子進(jìn)行完善。你需要監(jiān)聽一個指定的socket并且處理用戶的連接。<?php$commonProtocol = getprotobyname("tcp");$socket = socket_create(AF_INET, SOCK_STREAM, $commonProtocol);socket_bind($socket, 'localhost', 1337);socket_listen($socket);// Accept any incoming connections to the server$connection = socket_accept($socket);if($connection){socket_write($connection, "You have connected to the socket.../n/r");}?>你應(yīng)該使用你的命令提示符來運行這個例子。理由是因為這里將產(chǎn)生一個服務(wù)器,而不是一個Web頁面。如果你嘗試使用Web瀏覽器來運行這個腳本,那么很有可能它會超過30秒的限時。你可以使用下面的代碼來設(shè)置一個無限的運行時間,但是還是建議使用命令提示符來運行。set_time_limit(0);在你的命令提示符中對這個腳本進(jìn)行簡單測試:Php.exe example01_server.php如果你沒有在系統(tǒng)的環(huán)境變量中設(shè)置php解釋器的路徑,那么你將需要給php.exe指定詳細(xì)的路徑。當(dāng)你運行這個服務(wù)器端的時候,你能夠通過遠(yuǎn)程登陸(telnet)的方式連接到端口1337來測試這個服務(wù)器。如下圖:上面的服務(wù)器端有三個問題:1. 它不能接受多個連接。2. 它只完成唯一的一個命令。3. 你不能通過Web瀏覽器連接這個服務(wù)器。這個第一個問題比較容易解決,你可以使用一個應(yīng)用程序去每次都連接到服務(wù)器。但是后面的問題是你需要使用一個Web頁面去連接這個服務(wù)器,這個比較困難。你可以讓你的服務(wù)器接受連接,然后些數(shù)據(jù)到客戶端(如果它一定要寫的話),關(guān)閉連接并且等待下一個連接。在上一個代碼的基礎(chǔ)上再改進(jìn),產(chǎn)生下面的代碼來做你的新服務(wù)器端:<?php// Set up our socket$commonProtocol = getprotobyname("tcp");$socket = socket_create(AF_INET, SOCK_STREAM, $commonProtocol);socket_bind($socket, 'localhost', 1337);socket_listen($socket);// Initialize the buffer$buffer = "NO DATA";while(true){// Accept any connections coming in on this socket$connection = socket_accept($socket);printf("Socket connected/r/n");// Check to see if there is anything in the bufferif($buffer != ""){printf("Something is in the buffer...sending data.../r/n");socket_write($connection, $buffer . "/r/n");printf("Wrote to socket/r/n");}else{printf("No Data in the buffer/r/n");}// Get the inputwhile($data = socket_read($connection, 1024, PHP_NORMAL_READ)){$buffer = $data;socket_write($connection, "Information Received/r/n");printf("Buffer: " . $buffer . "/r/n");}socket_close($connection);printf("Closed the socket/r/n/r/n");}?>這個服務(wù)器端要做什么呢?它初始化一個socket并且打開一個緩存收發(fā)數(shù)據(jù)。它等待連接,一旦產(chǎn)生一個連接,它將打印“Socket connected”在服務(wù)器端的屏幕上。這個服務(wù)器檢查緩沖區(qū),如果緩沖區(qū)里有數(shù)據(jù),它將把數(shù)據(jù)發(fā)送到連接過來的計算機。然后它發(fā)送這個數(shù)據(jù)的接受信息,一旦它接受了信息,就把信息保存到數(shù)據(jù)里,并且讓連接的計算機知道這些信息,最后關(guān)閉連接。當(dāng)連接關(guān)閉后,服務(wù)器又開始處理下一次連接。(翻譯的爛,附上原文)This is what the server does. It initializes the socket and the buffer that you use to receiveand send data. Then it waits for a connection. Once a connection is created it prints“Socket connected” to the screen the server is running on. The server then checks to see ifthere is anything in the buffer; if there is, it sends the data to the connected computer.After it sends the data it waits to receive information. Once it receives information it storesit in the data, lets the connected computer know that it has received the information, andthen closes the connection. After the connection is closed, the server starts the wholeprocess again.◆ 產(chǎn)生一個客戶端處理第二個問題是很容易的。你需要產(chǎn)生一個php頁連接一個socket,發(fā)送一些數(shù)據(jù)進(jìn)它的緩存并處理它。然后你又個處理后的數(shù)據(jù)在還頓,你能夠發(fā)送你的數(shù)據(jù)到服務(wù)器。在另外一臺客戶端連接,它將處理那些數(shù)據(jù)。To solve the second problem is very easy. You need to create a PHP page that connects toa socket, receive any data that is in the buffer, and process it. After you have processed thedata in the buffer you can send your data to the server. When another client connects, itwill process the data you sent and the client will send more data back to the server.下面的例子示范了使用socket:<?php// Create the socket and connect$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);$connection = socket_connect($socket,’localhost’, 1337);while($buffer = socket_read($socket, 1024, PHP_NORMAL_READ)){if($buffer == “NO DATA”){echo(“<p>NO DATA</p>”);break;}else{// Do something with the data in the bufferecho(“<p>Buffer Data: “ . $buffer . “</p>”);}}echo(“<p>Writing to Socket</p>”);// Write some test data to our socketif(!socket_write($socket, “SOME DATA/r/n”)){echo(“<p>Write failed</p>”);}// Read any response from the socketwhile($buffer = socket_read($socket, 1024, PHP_NORMAL_READ)){echo(“<p>Data sent was: SOME DATA<br> Response was:” . $buffer . “</p>”);}echo(“<p>Done Reading from Socket</p>”);?>這個例子的代碼演示了客戶端連接到服務(wù)器??蛻舳俗x取數(shù)據(jù)。如果這是第一時間到達(dá)這個循環(huán)的首次連接,這個服務(wù)器將發(fā)送“NO DATA”返回給客戶端。如果情況發(fā)生了,這個客戶端在連接之上??蛻舳税l(fā)送它的數(shù)據(jù)到服務(wù)器,數(shù)據(jù)發(fā)送給服務(wù)器,客戶端等待響應(yīng)。一旦接受到響應(yīng),那么它將把響應(yīng)寫到屏幕上。

推薦
不推薦
展開
收起
韓猛

PHP程序員在公司到底是做什么工作的呢

PHP程序員的工作內(nèi)容:

1、負(fù)責(zé)協(xié)助技術(shù)總監(jiān)進(jìn)行技術(shù)評測,bug處理,代碼開發(fā);

2、負(fù)責(zé)網(wǎng)站數(shù)據(jù)庫、欄目、程序模塊的設(shè)計與開發(fā);

3、負(fù)責(zé)根據(jù)公司要求進(jìn)行erp、oa、crm系統(tǒng)等項目開發(fā);

4、定期與培訓(xùn)部和測試部溝通,獲取反饋信息并進(jìn)行相應(yīng)的處理;

5、按時按質(zhì)完成公司下達(dá)程度開發(fā)、系統(tǒng)評測等工作任務(wù);

6、定期維護(hù)網(wǎng)站程序,處理反饋回來的系統(tǒng)bug;

7、網(wǎng)站程序開發(fā)文檔的編寫。

擴展資料:

職業(yè)要求:

1、計算機相關(guān)專業(yè)大專以上學(xué)歷;

2、至少1年以上的PHP項目開發(fā)經(jīng)驗,具備良好的代碼編程習(xí)慣及較強的文檔編寫能力;

4、熟悉Mysql5.0,有較為熟練地掌握mysql語言及編寫存儲過程、觸發(fā)器等數(shù)據(jù)庫開發(fā)的能力;

5、精通PHP語言,精通CGI標(biāo)準(zhǔn)和HTTP等互聯(lián)網(wǎng)協(xié)議;

6、熟練掌握HTML語言、JavaScript腳本語言;

7、英文水平過硬,能基本不借助字典快速閱讀英文文檔;

8、熟悉LINUX或WINDOWS操作系統(tǒng);

9、有良好的溝通、協(xié)調(diào)能力和學(xué)習(xí)能力,具備良好的團隊合作精神,對工作積極嚴(yán)謹(jǐn)踏實,能承受較大的工作壓力。

參考資料來源:百度百科-PHP程序員

推薦
不推薦
展開
收起
十兵衛(wèi)

php是干什么用的????

這么說吧,php就是實現(xiàn)用戶和服務(wù)器交流的語言。前臺就是你看到的那些東西,有些事不會變的,但有些東西是會變的,你告訴服務(wù)器你想要什么,服務(wù)器就給你顯示什么,這個過程就需要用到php來實現(xiàn),也就是后臺的數(shù)據(jù)調(diào)用。就拿這個百度知道的頁面說吧,你每個問題看到的東西都不一樣,但是結(jié)構(gòu)都是一樣的,這個結(jié)構(gòu)就是前臺設(shè)計好的,而這些內(nèi)容就是根據(jù)你點的問題,通過php(也可能是其他服務(wù)端腳本語言)來獲取相應(yīng)的數(shù)據(jù),然后在相應(yīng)的位置顯示相應(yīng)的內(nèi)容;你填寫好提問或回答,點提交,然后又是通過php把你的提交的數(shù)據(jù)保存起來,以便以后或其他人查看。

我只是不懂為什么后臺也要用到編程啊  而且代碼看著和前端代碼差不多  那么學(xué)完php后代碼到底要在前端寫還是后臺寫啊   比如下面這個代碼   為什么在前端里面加入了php代碼?hello, world
html是靜態(tài)文本,是不能喝服務(wù)器交互的,就是你所謂的前臺,那要和服務(wù)器交互獲取或上傳數(shù)據(jù)就要用到php了,就是所謂的后臺編程。php是腳本語言,就像js也是腳本語言,只不過js是在用戶端執(zhí)行的,php是在服務(wù)器端執(zhí)行的。php獲取數(shù)據(jù)后要在頁面上顯示出來就要用到php的輸出,就像你這里的至于說寫在什么地方,這個沒規(guī)定的,一般獲取數(shù)據(jù)的代碼寫在前面或者其他頁面然后調(diào)用,輸出數(shù)據(jù)就嵌套在html代碼里你要輸出的地方。

推薦
不推薦
展開
收起
天地有情

PHP中的“?”是什么做用?

這個表示當(dāng)前PHP文件帶個out參數(shù)值為LOGIN如果這個文件名為index.php那么正常的寫法就是<a href='index.php?out=login'>退出</a>但是有些人就喜歡簡寫成<a href='?out=login'>退出</a>這要看個人愛好!但這個習(xí)慣不是很好,希望樓主理解!除非整個項目只有一個程序文件!

我在網(wǎng)上看的 不是說“?”是三目運算?a href是刷新頁面?
$a = (1>0) ? "zhen" : 'jia'; // 上面的語句才是真正的三目運算符   與下邊if 語句 意思一樣if( 1 > 0 ){$a = "zhen";}else{$a = "jia";}

推薦
不推薦
展開
收起
李廣

PHP全棧開發(fā)工程師是做什么的

PHP全棧開發(fā)工程師崗位職責(zé):1、能獨立負(fù)責(zé)網(wǎng)站前臺、后臺開發(fā)和迭代,根據(jù)業(yè)務(wù)需要開發(fā),制作和程序修改;2、參加制定網(wǎng)站研發(fā)及迭代方案制定;3、參與網(wǎng)站研發(fā),按要求高質(zhì)量完成編程開發(fā);4、負(fù)責(zé)網(wǎng)站上線前的測試工作;5、負(fù)責(zé)跟進(jìn)網(wǎng)站頁面顯示視覺效果;6、網(wǎng)站形象、站內(nèi)廣告和專題頁面的策劃、設(shè)計;7、負(fù)責(zé)網(wǎng)站軟硬件設(shè)施進(jìn)行安全和穩(wěn)定性巡查,并統(tǒng)計和監(jiān)測系統(tǒng)日志;

推薦
不推薦
展開
收起
蕭狂

什么是PHP技術(shù)?是做什么用的?

PHP,一個嵌套的縮寫名稱,是英文超級文本預(yù)處理語言(PHP:Hypertext Preprocessor)的縮寫。PHP 是一種HTML內(nèi)嵌式的語言,PHP與微軟的ASP頗有幾分相似,都是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語言,語言的風(fēng)格有類似于C語言,現(xiàn)在被很多的網(wǎng)站編程人員廣泛的運用。PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創(chuàng)新的語法。它可以比 CGI 或者 Perl 更快速的執(zhí)行動態(tài)網(wǎng)頁。用PHP做出的動態(tài)頁面與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多;與同樣是嵌入HTML文檔的腳本語言JavaScript相比,PHP在服務(wù)器端執(zhí)行,成分利用了服務(wù)器的性能;PHP執(zhí)行引擎還會將用戶經(jīng)常訪問的PHP程序駐留在內(nèi)存中,其他用戶在一次訪問這個程序時就不需要重新編譯程序了,只要直接執(zhí)行內(nèi)存中的代碼就可以了,這也是PHP高效率的體現(xiàn)之一。PHP具有非常強大的功能,所有的CGI或者JavaScript的功能PHP都能實現(xiàn),而且支持幾乎所有流行的數(shù)據(jù)庫以及操作系統(tǒng)。PHP 最初是1994年Rasmus Lerdorf創(chuàng)建的,剛剛開始只是一個簡單的用Perl語言編寫的程序,用來統(tǒng)計他自己網(wǎng)站的訪問者。后來又用C語言重新編寫,包括可以訪問數(shù)據(jù)庫。在1995年以Personal Home Page Tools (PHP Tools) 開始對外發(fā)表第一個版本,Lerdorf寫了一些介紹此程序的文檔,并且發(fā)布了PHP1.0。在這早期的版本中,提供了訪客留言本、訪客計數(shù)器等簡單的功能。以后越來越多的網(wǎng)站使用了PHP,并且強烈要且增加一些特性,比如循環(huán)語句和數(shù)組變量等等,在新的成員加入開發(fā)行列之后,在1995年中,PHP2.0發(fā)布了。第二版定名為PHP/FI(Form Interpreter)。PHP/FI加入了對mSQL的支持,從此建立了PHP在動態(tài)網(wǎng)頁開發(fā)上的地位。到了1996年底,有15000個網(wǎng)站使用 PHP/FI;時間到了1997年中,使用PHP/FI的網(wǎng)站數(shù)字超過五萬個。而在1997年中,開始了第三版的開發(fā)計劃,開發(fā)小組加入了 Zeev Suraski 及 Andi Gutmans,而第三版就定名為PHP3。2000年,PHP4.0又問世了,其中增加了許多新的特性。

參考資料:http://baike.baidu.com/view/118283.htm

推薦
不推薦
展開
收起
查看更多答案
收起