『壹』 php是世界上最好的語言
PHP是世界上最好的語言。這是網路上廣泛流傳的一個梗,並不是說PHP就真的是編程最好的語言,其實每款編程語言都有自身的優勢以及所專長的領域,並不能簡單地說PHP就是最好的編程語言,這多少有點調侃的成分。
PHP優點
(一)流行,容易上手
PHP是目前最流行的編程語言,這毋庸置疑。它驅動全球超過2億多個網站,有全球超過81.7%的公共網站在伺服器端採用PHP。PHP常用的數據結構都內置了,使用起來方便簡單,也一點都不復雜,表達能力相當靈活。
(二)開發職位很多
在伺服器端的網站編程中PHP會更容易幫助你找到工作。很多互聯網相關企業都在使用PHP開發框架,所以可以說市場對PHP的開發程序員的需求還是比較大的。
(三)仍然在不斷發展
PHP在不斷兼容著類似closures和命名空間等技術,同時兼顧性能和當下流行的框架。版本是7之後,一直在提供更高性能的應用。
(四)可植入性強
PHP 語言在補丁漏洞升級過程中,核心部分植入簡單易行,且速度快。
(五)拓展性強
PHP 語言在資料庫應用過程中,可以從資料庫調取各類數據,執行效率高。
PHP缺點
(一)PHP的解釋運行機制
在 PHP 中,所有的變數都是頁面級的,無論是全局變數, 還是類的靜態成員,都會在頁面執行完畢後被清空。
(二)設計缺陷,缺少關注PHP被稱作是不透明的語言,因為沒有堆棧追蹤,各種脆弱的輸入。沒有一個明確的設計哲學。早期的PHP受到Perl的影響,帶有out參數的標准庫又是有C語言引入,面向對象的部分又是從C++和Java學來的。
(三)對遞歸的不良支持
PHP並不擅長遞歸。它能容忍的遞歸函數的數量限制和其他語言比起來明顯少。
這句話的產生,雖然帶有一定php碼農個人感情色彩的偏見,但是未嘗沒有道理。首先,PHP的使用率遠遠高於其他語言的使用率,在web開發中佔有很大份額。
同時PHP作為一種通用開源語言,因其語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛。具有簡單易懂的語法、沒有奇怪的黑魔法、既能面向過程,又能面向對象、安裝後各種擴展集一身、包括但不限於mysql、json、mbstr等,方便至極。
在這種情況下,PHP就被戲稱為「世上最好的語言」,當然它也不負眾望,成了大部分IT碼農的首選。它的門檻低,使得更多新手小白入門快,能快速了解IT這行,以及自己的工作性質。語法簡單,很快融入其中,被成為「弱類型語言」。
現在很多重量級的開源項目都會使用PHP語言,企業開發上也越來越支持使用PHP。它成熟的框架,大大縮短開發周期,在加上成本低,導致了市場需求大。
(1)phpmysql優點擴展閱讀
主要參考框架
(一)CodeIgniter的優點
1、配置簡單,全部的配置使用 PHP腳本來配置,執行效率高;具有基本的路由功能,能夠進行一定程度的路由;具有初步的Layout功能,能夠製作一定程度的界面外觀;資料庫層封裝的不錯,具有基本的MVC功能。
2、快速簡潔,代碼不多,執行性能高,PHP框架簡單, 容易上手,學習成本低,文檔詳細;自帶了很多簡單好用的library,框架適合小型應用。
(二)CodeIgniter 缺點
1、把Model層簡單的理解為資料庫操作。
2、PHP 框架略顯簡單,只能夠滿足小型應用,略微不太能夠滿足中型應用需要。
(三)CakePHP 的優點
1、CakePHP 是最類似於RoR的 PHP 框架,包括設計方式,資料庫操作的Active Record方式;設計層面很優雅,沒有自帶多餘的 library,所有的功能都是純粹的框架,執行效率還不錯;資料庫層的hasOne,hasMany 功能很強大,對於復雜業務處理比較合適;路由功能,配置功能還不錯;自動構建腳手架(scaffold)很強大;適合中型應用;基本實現過了MVC每一層; 具有自動操作命令行腳本功能。
2、文檔比較全,在國內推廣的比較成功,大部分人都知道CakePHP,學習成本中等。
(四)CakePHP 的缺點
1、CakePHP非常嚴重的問題是把Model理解為資料庫層操作,嚴重影響了除了資料庫之外的操作能力
2、CakePHP的cache功能略顯薄弱,配置功能稍嫌弱;CakePHP不適合大型應用,只適合中型應用,小型應用來說略微的學習成本高了點。
參考資料來源:網路-PHP
『貳』 Apache+PHP+MySQL是什麼
pache HTTP Server(簡稱Apache)是Apache軟體基金會的一個開放源碼的網頁伺服器,可以在大多數計算機操作系統中運行,由於其多平台和安全性被廣泛使用,是最流行的Web伺服器端軟體之一。它快速、可靠並且可通過簡單的API擴展,將Perl/Python等解釋器編譯到伺服器中。
Apache HTTP伺服器是一個模塊化的伺服器,源於NCSAhttpd伺服器,經過多次修改,成為世界使用排名第一的Web伺服器軟體。
它可以運行在幾乎所有廣泛使用的計算機平台上。
Apache源於NCSAhttpd伺服器,經過多次修改,成為世界上最流行的Web伺服器軟體之一。Apache取自「a patchy server」的讀音,意思是充滿補丁的伺服器,因為它是自由軟體,所以不斷有人來為它開發新的功能、新的特性、修改原來的缺陷。Apache的特點是簡單、速度快、性能穩定,並可做代理伺服器來使用。
本來它只用於小型或試驗Internet網路,後來逐步擴充到各種Unix系統中,尤其對Linux的支持相當完美。Apache有多種產品,可以支持SSL技術,支持多個虛擬主機。Apache是以進程為基礎的結構,進程要比線程消耗更多的系統開支,不太適合於多處理器環境,因此,在一個Apache Web站點擴容時,通常是增加伺服器或擴充群集節點而不是增加處理器。到目前為止Apache仍然是世界上用的最多的Web伺服器,市場佔有率達60%左右。世界上很多著名的網站如Amazon、Yahoo!、W3 Consortium、Financial Times等都是Apache的產物,它的成功之處主要在於它的源代碼開放、有一支開放的開發隊伍、支持跨平台的應用(可以運行在幾乎所有的Unix、Windows、Linux系統平台上)以及它的可移植性等方面。
Apacheweb伺服器軟體擁有以下特性:
Apache Server配置界面
1.支持最新的HTTP/1.1通信協議
2.擁有簡單而強有力的基於文件的配置過程
3.支持通用網關介面
4.支持基於IP和基於域名的虛擬主機
5.支持多種方式的HTTP認證
6.集成Perl處理模塊
7.集成代理伺服器模塊
8.支持實時監視伺服器狀態和定製伺服器日誌
9.支持伺服器端包含指令(SSI)
10.支持安全Socket層(SSL)
11.提供用戶會話過程的跟蹤
12.支持FastCGI
13.通過第三方模塊可以支持JavaServlets
如果你准備選擇Web伺服器,毫無疑問Apache是你的最佳選擇。
『叄』 PHP的優缺點是什麼
HP應該算是現在大中小非專業網站企業會優先使用的網站建設編程語言,相對於ASP和JSP來說,PHP在在很多方面更適合個人以及小型企業做開發,這主要是因為PHP本身獨特的優勢導致的,那麼下面小編就來為大家盤點PHP得到眾多企業支持的原因。
PHP的優勢包括:
1、開放源代碼
由於PHP開放源代碼,因此基本上可以在網路上找到適合自己的源代碼。
2、免費性
和其它技術相比,PHP本身免費,並且也是開源代碼。
3、快捷性
PHP程序開發快,運行快,技術本身學習快。由於PHP可以被嵌入於HTML語言,新詞相對於其他語言來說編輯簡單,實用性強,更適合初學者。
4、跨平台性強
由於PHP是運行在伺服器端的腳本,因此可以在多種平台上得到應用,包括了UNIX、LINUX、WINDOWS、Mac OS等系統。
5、效率高
PHP由於消耗相當少的系統資源,因此工作效率更高。
6、圖像處理
一般來說,PHP動態創建圖像,而且目前PHP圖像處理默認使用GD2。因此也可以配置為使用image magick進行圖像處理。
7、面向對象
在PHP4,PHP5 中,面向對象方面都做出了很大的改進,因此PHP完全可以用來開發大型商業程序。
8、專業專注
PHP同為類C語言,而且更重要的就是PHP以支持腳本語言為主。
上面介紹的八點內容就是關於PHP被廣大企業使用的優勢,其實PHP相對於其它幾種語言來說,更適合初學者學習和使用,因此想要入門的朋友可以多找一些材料來學習。
『肆』 教你巧用PHP+MySQL搭建一個聊天室
MySQL並發能力強 響應速度快 是性能優異的資料庫軟體;PHP是功能強大的伺服器端腳本語言 筆者在山西鋁廠網站開發中 採用PHP +MySQL 建立了多種應用 下面 以一個簡單的聊天室設計為例 介紹PHP+MySQL在網頁開發中的應用總體設計
構思與規劃:
聊天室的基本原理 就是把每個連上同一網頁的用戶傳送的發言數據儲存起來 然後將所有的發言數據傳給每一用戶 也就是說 用資料庫匯集每個人的發言 並將資料庫中的數據傳給每一個人就實現了聊天室的功能
表設計
首先使用MySQL建立表chat用來儲存用戶的發言:
mysql> CREATE TABLE chat > (chtime DATATIME > nick CHAR( ) NOT NULL >words CHAR( ));
表中只設定了三個域 chtime是發言的時間 nick為發言者的昵稱 words是發言的內容 發言最多 個字元
網頁設計
一個最簡單的聊天室通常需要兩個頁框:一個頁框是用戶輸入發言的表單 另一個用來顯示大家的發言 所以代碼段通常至少需要如下幾段:
建立頁框的結構(main php)
顯示大家發言的程序段(cdisplay php)
傳送用戶發言的程序段(speak php)
用戶登錄進入聊天室程序段(login php)
代碼設計
以上規劃完成後 就可以著手代碼設計了 採用php可以非常簡明實現以上的功能
用戶登錄login php 本段代碼是一個完全HTML網頁
<> <head> <title>用戶登錄</title> </head> <body>請輸入您的昵稱<br> <form action= main php method= post target= _self > <input type= text name= nick cols= > <input type= submit value= 登錄 > </body> </>
用戶提交自己的昵稱後 就進入到聊天室 以下的處理交由main php處理
頁框主體代碼段main php:
<? setcookie( nick $nick) //用cookie記錄用戶昵稱 是常用的傳遞變數方法 ?> <> <title>山西鋁廠聊天室試用版ver </title> <frameset rows= % * > <frame src= cdisplay php name= chatdisplay > <frame src= speak php name= speak > </frameset> </>
顯示發言cdisplay php
本代碼段的任務是將表chat中的數據取出 顯示在頁框中 每次刷新時 取資料庫中最近的 條發言 同時 為防止資料庫無限增大 需設計刪除陳舊數據的功能 代碼如下
<> <head> <title>顯示用戶發言</title> <meta equiv= refresh content= ;url=cdisplay php > </head> <body> <? $link_ID=mysql_connect( main root ); //鏈接Mysql伺服器 伺服器名為main 管理員名為root mysql_select_db( abc ); //選擇資料庫 $str= select * from chat ORDER BY chtime; ; //查詢字元串 $result=mysql_query($str $link_ID); //送出查詢 $rows=mysql_num_rows($result); //取得查詢結果的記錄筆數 //取得最後 筆發言 並顯示 @mysql_data_seek($resut $rows ); //移動記錄指針到前 筆記錄 if ($rows< ) $l=$rows; else $l= ; //記錄總數小於 則最多為該記錄數 for ($i= ;$i<=$l;$i++) { list($chtime $nick $words)=mysql_fetch_row($result); echo $chtime; echo ;echo $nick; echo : ; echo $words; echo <BR> ; } //清除庫中過時的數據 @mysql_data_seek($result $rows ); //移動記錄指針到前 筆記錄 list($limtime)=mysql_fetch_row($result); $str= DELETE FROM chat WHERE chtime< $limtime ; ; $result=mysql_query($str $link_ID); //送出查詢字元串 庫中只留前 個記錄 mysql_close($link_ID); ?> </body> </>
送出發言到資料庫speak php
<> <head> <title>發言</title> </head> <body> <? If ($words) { $link_ID=mysql_connect( main root ); mysql_select_db( abc ); //資料庫名為abc $time=date(y) date(m) date(d) date(h) date(i) (date(s); //取得當前時間 $str= INSERT INTO chat(chtime nick words) values ( $time $nick $words ); ; mysql_query($str $link_ID); //送出發言到資料庫 mysql_close($link_ID); } ?> //輸入發言的表單 <form action= speak php method= post target= _self > <input type= text name= words cols= > <input type= submit value= 發言 > </form> </body> </>
lishixin/Article/program/PHP/201311/21516