Ⅰ 什麼是php,PHP能幹什麼,為什麼使用PHP

在學習任何東西之前,我們都得了解這門東西究竟是什麼,有什麼用。學習PHP一樣如此。

一、什麼是PHP

PHP,全稱 Hypertext Preprocessor ,中文翻譯「超文本預處理器」。

在PHP的官網是這樣介紹PHP的:

PHP is a popular general-purpose scripting language that is especially suited to web development.

Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.

照顧英文能力較差的同學,以下為中文版

PHP是一種被廣泛應用的開源通用腳本語言,尤其適用於 Web 開發

擁有快速,靈活,實用的特點,PHP能做任何事,包括你的個人博客甚至是全球性的大型站點系統。

PHP內核由C開發,因此在語法上跟C有不少相似之處。但PHP絕對不是C。

PHP語法除了跟C有相似之處外,還跟java、Perl比較流行的編程語言存在相似的地方。因此,如果你有上述語言基礎,PHP入門會更加快速。

二、PHP能幹什麼

PHP能幹任何事!

PHP能直接嵌入html語言中,與HTML混編。PHP開發的目的主要是允許 web 開發人員快速編寫動態生成的 web 頁面,但 PHP 的用途遠不只於此。

PHP還包含了命令列執行介面(command line interface),和產生圖形使用者介面(GUI)程式。

PHP能幹任何事!

PHP能幹任何事!

PHP能幹任何事!

重要的事情要說3遍!

三、為什麼選擇PHP

1、PHP開源免費,沒有任何收費的項目。你可以隨便修改他的內核然後用於自己的商業使用。

2.、PHP開發組件豐富(對於新手來說一堆IDE也是夠選擇困難症糾結的)

3、社區成熟,85%以上的問題能在社區找到相應的解決思路。

4、PHP學習成本低,不想某門語言要學就得三件套。見效快,學1個月基本能入門

5、開源庫豐富,基本所有類型均有開源產品

6、PHP7.0基本不輸任何一門語言~!這是重點

7、與MySQL近乎完美的支持

8、找工作容易

9、連Facebook都在用php,你還什麼理由不用?

Ⅱ php 幾種常用的遞歸 無限極分類

/**
*遞歸實現無限極分類
*@param$array分類數據
*@param$pid父ID
*@param$level分類級別
*@return$list分好類的數組直接遍歷即可$level可以用來遍歷縮進
*/

functiongetTree($array,$pid=0,$level=0){

//聲明靜態數組,避免遞歸調用時,多次聲明導致數組覆蓋
static$list=[];foreach($arrayas$key=>$value){//第一次遍歷,找到父節點為根節點的節點也就是pid=0的節點
if($value['pid']==$pid){//父節點為根節點的節點,級別為0,也就是第一級
$value['level']=$level;//把數組放到list中
$list[]=$value;//把這個節點從數組中移除,減少後續遞歸消耗
unset($array[$key]);//開始遞歸,查找父ID為該節點ID的節點,級別則為原級別+1
getTree($array,$value['id'],$level+1);

}
}

Ⅲ 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有哪些非常實用的類庫或工具庫

到 packagist.org 上面一堆堆的哦~~要啥有啥,當然,你首先需要 composer 作為包版管理器。
補充說明:權
由於 composer 已經是一枚 PHPer 的標配,因此 packagist 上完全囊括了當下所有優秀的包(不優秀的也有),但是 packagist 是英文的,很多優秀的包也是英文的,因此你需要學會通過使用英文語義去查詢需要的包。
當然使用搜索引擎,也可以快速找到需要的包的包名,反向去 packagist 上查找。
比如我現在需要一個模擬 HTTP 請求的第三方包,網搜來搜去發現有一個 guzzlehttp/guzzle 的庫,只需要 composer require guzzlehttp/guzzle 就可以快速安裝到你現有的項目中咯~~同樣的還有很多,比如常用的微信公眾號三方庫(包),只需配置幾個參數就可以優雅的開發微信公眾號,而不需大動干戈手寫很多代碼。

Ⅳ 如何文檔化你的PHP類(一)

如果你已經編寫了幾個類應用在網站上並且你是一個有條理的人的話,那麼你應該已經編寫了關於它們的一些文檔。但是如果你是一個象我一樣的不拘小節的人,你只是會在類的源代碼中加一些注釋而沒有別的文檔。沒有文檔就很難記住方法的名字和它們的使用方法(參數和含義)。解決這種情況最典型的辦法就是打開源代碼文件,從成百上千的語句中查找。 類似Javadoc的文檔 應該有一種好的方法----如果你曾經使用過Java語言,你將知道Javadoc文檔系統。這個工具允許你在源代碼文件注釋中插入一些標記,這些標記可以被Javadoc工具進行分析以便生成一系列的HTML頁面把你的類文檔化。那樣在編程的同時你可以開著瀏覽器並且可以得到類列表和帶有說明的類方法的列表。在你開發web應用時,這個可以成為你的參考,提高工作效率和加快開發速度。 我的意見是維護一個作為源代碼內的引用文檔要比維護一個獨立的文檔要容易和更實用,因為這個方法更容易保持更新。否則就非常容易變得懶惰從而將對文檔的更新推後到無限期(如果一定要給它加個期限,我想是一萬年)。相反使用象這樣的一個工具,只有一點工作量就是在你正在修改的源代碼附近更新一個標記,接著運行工具再一次生成更新過的HTML頁面。 一些php文檔工具的預覽 phpSearchdoc是enzyme項目的一部分。因為enzyme 是一個巨大的項目,所以需要將其文檔化。那裡的開發人員已經編寫了他們自已的文檔系統並且他們非常慷慨地將其作為一個獨立的包進行發布。得到的文檔首先被寫入資料庫,然後可以被一些PHP腳本查看,象一個動態的web站點。 從現存的信息中將用於分析的邏輯分離出來的想法相當好,然而phpSearchdoc(版本 1.01)不具有一個真正的分析器,而是從源文件,甚至包括注釋中搜索關鍵字。事實上,對我來說碰巧發生過在我的注釋中存在'function'單詞,結果分析器愚蠢地認為在這個單詞後面的詞就是函數的名字。更不幸的是,我不巧在同一行放了一個單引號('),接著我試圖將數據寫到資料庫中,mysql作出了抱怨(出錯了,因為單引號在 mysql中被用於分割字元串)。 而且它的安裝及運行相當困難,因為它還是一個alpha測試版。畢竟比起文檔系統來說它更象是一個交叉引用生成器,正如我知道的,你不能在函數和方法中加入自已的注釋。 phpxref,就象名字所指的比起一個真正 的文檔系統來似乎更象是面向交叉引用的生成處理。更進一步說它更適合於正常的過程化編程而不是面向對象編程。 phpautodoc的目標是實現象Javadoc 應用於Java那樣用於PHP。它看上去是滿足我的文檔需求的完美解決。為了試驗它我不得不編譯了PHP的CGI版本(我通常使用模塊版本),因為生成器是用PHP編的。我可能容易地在一個Linux系統下編譯和安裝靜態的執行程序,可以使用這些命令: rm config.chchemake clean ./configuremakecp php /usr/local/bin 我決定對它自已的PHP源碼進行測試,並且我發現它只有部分可以工作:它只能夠生成類的文檔(生成整齊的格式),但是不能生成小結。我不知道是否這個只是碰巧發生在我的機器上,但是在試圖生成小結時卻因為core mp(內核崩潰)而停止(PHP 4.0 pl2,RedHat 6.2環境)。假如在你的機器/usr/local/bin下安裝了PHP執行版本,調用它的語法是(為了得到結果我不得不給出php文件和輸出目錄的全路徑) ./phpautodoc -o phpdoc是一個用來維護在Web站點上的php 文件,並且它非常適合分布式開發方式。文檔是從資料庫中生成;在安裝之後,你可以使用web界面來增加你的類將其文檔化。這個的確有意思,但是它是一種低級的從源代碼中分離文檔的維護方法,這一點就我來說不是非常方便。 通用工具在經受了試驗所有這些工具但卻得不到怎麼成功的挫折之後,直到Pear Project提出了一種標準的解決方法,我發現了一個與PHP完全無關的可工作的工具在Open Source Projects at Apple站點。項目的名字是 HeaderDoc。就象站點所說的 HeaderDoc是一種從C或C++頭文件的注釋中生成HTML的引用文檔的工具。它是用Perl編寫的以便於移植。與JavaDoc 相似,它允許開發者容易地文檔化他們的介面,並且將介面信息輸出到HTML。 是的,你看的沒錯,HeaderDoc只支持C和C++。沒有其它的語言,但是它不象JavaDoc,它大部分依賴寫在注釋中的標記,所以只要做些小改動(我會在後面解釋)就可以很好的用在PHP上。這些標記同JavaDoc很象,HeaderDoc標記的一些例子是@class,@function和@var。 文檔化一個類 -------------------------------------------------------------------------------- /*! @class BagItem @abstract An item in the shopping bag - it is a shopitem with quantity @discussion A BagItem object may be constructed without previous instantiation of neither ShopItem nor Proct*/-------------------------------------------------------------------------------- 文檔化一個類。可以在左邊的幀選擇類的方法。 第一件需要注意的事情是用在打開注釋上的風格不完全象JavaDoc注釋/**(一個斜線和兩個星號),而是換成/*!(一個斜線,一個星號和一個感嘆號) 。標記使用也不一樣,但是它們以相似的方式工作。例如,第一個標記是@class標記,它用於文檔化一個類,這個標記跟著類的名字。下一個標記是@abstract 標記,它 是一個可選的標記,用少量詞語來描述一個類的含義,同時@discussion 標記是另一個可選的標記,用於進一步的討論。當然由你來決定是在@discussion標記中描述所有的事情還是使用@abstract來處理,但是要記住,一般來說,你使用的標記越精確,結果就越好。

Ⅵ php比較好的教材有什麼

個人推薦《PHP和MySQL Web開發》,老外寫的,號稱是"php和Mysql Web開發聖經,持續4版暢銷」。

該書版將PHP開發與MySQL應用相權結合,分別對PHP和MySQL做了深入淺出的分析,不僅介紹PHP和MySQL的一般概念,而且對PHP和MySQL的Web應用做了較全面的闡述,並包括幾個經典且實用的例子。

該書是第4版,經過了全面的更新、重寫和擴展,包括PHP5.3最新改進的特性(例如,更好的錯誤和異常處理),MySQL的存儲過程和存儲引擎,Ajax技術與Web2.0以及Web應用需要注意的安全問題。

Ⅶ php的常用函數都有哪些要必須熟記的

首先是資料庫方面的函數,例如:mysql_connect,mysql_create_db,mysql_fetch_array,mysql_select_db,mysql_query,資料庫的函數眾多,最好寫成一個類,可以參考discuz,phpcms等,如果是php5,可以使用PDO php的數組很強大,很多地方要用到最好把關於數組的循環,分割,刪除等記住,例如:is_array,implode,explode,array_keys,array_merge等 還有就是記牢一些安全性的函數例如:addslashes,htmlspecialchars等 其他還有字元處理:subtr,strlen,trim等 初學者要盡量使用專業的編輯器,例如:UE,editplus等,有利於拼寫和記憶函數,少用IDE工具,例如zendstudio等,這些雖然方便,但是不利於記憶函數,加入沒有了IDE的情況下,就成了盲人了,雖有思路,但寫不出代碼來。

Ⅷ 為什麼80%的網站都用PHP寫,PHP實用性有多強

簡單的說php的流行和實用性有關系,但不是絕對關系,導致大部分網站使用php的主要原因大概有以下幾個點。
1.php所需要的環境容易搭建,相對於java web,python等,php的環境搭建比較簡單,甚至因為互聯網上出現許多集成環境包,環境搭建已經是傻瓜式了。而其它的語言,一般都比較復雜,個人建站者,技術能力不足的時候,根本就不會搭建環境。
2.php開發起來相對容易,開發過程不需要像jsp之類的,需要引入大量外部擴展,這樣只需要基礎環境就可以愉快的開發了,而且難度也並不高,所以學php的就比較多。
3.按上面的說法,asp也符合需要的要求,但是實際上asp的使用量卻不如php,其實首先在於asp不夠安全,具體我也沒研究,但是總是聽人在說。其次就是asp跨平台很麻煩,而php可以隨意使用在大部分通用系統,這也算是原因的一種。
4.網上大量php的開源項目的出現,也是導致php流行的原因之一,比如各種cms,各種開發框架,大多數免費的。完全促進了php網站的誕生數量,因為有這些,就算你完全不懂編程也可以搭建自己的網站。而asp,jsp之類的,雖然也有開源項目,但是數量上遠遠不如php,而且主要敗在第一條。

最後,php其實實用性沒有想像的強,它只能作為web開發語言,而java,python卻沒有這方面的限制。另外,正因為php網站使用量巨大,也導致越來越多的的黑客學習針對php入侵,這也是個很尷尬的問題。所以簡單的說,php能夠眾多人用的根本原因,是方便,好學,容易玩得轉,這多虧了大部分辛苦鑽研的開發者,而並不是實用。
因為php能做的,很多編程語言都可以,甚至比它更厲害。

Ⅸ 常用的php開發工具有哪些

1、EditPlus

EditPlus是一套功能強大,可取代記事本的文字編輯器,擁有無限制的Undo/Redo、英文拼字檢查、自動換行、列數標記、搜尋取代、同時編輯多文件、全屏幕瀏覽功能。對於很多php程序來說,EditPlus 非常簡單好用。同時EditPlus也是一款好用的HTML編輯器,除了可以顏色標記HTML Tag (同時支持C/C++、Perl、Java)外,還內建完整的HTML和CSS1指令功能,對於習慣用記事本編輯網頁的朋友,它可幫你節省一半以上的網頁製作時間,若你有安裝IE 3.0以上版本,它還會結合IE瀏覽器於EditPlus窗口中,讓你可以直接預覽編輯好的網頁(若沒安裝IE,也可指定瀏覽器路徑)。

2、 PHPDesigner 7

PHPDesigner 7不僅適用於php開發 ,也支持其他編程語言,例如:html 、xhtml、xml、css和javascript 、vbscript、java、c#、perl、python等!PHPDesigner 7主要針對 PHP 網頁的編寫所設計的程序,它內建一系列的指令碼、PHP4 原始碼資料庫、語法高亮度顯示功能、FTP 客戶端等,無論您是 PHP 網頁設計高手,或者是剛入門的新手,您都可以使用PHPDesigner 7來設計網頁程序。

3、Norepad++

Notepad++是一款台灣人開發的一款非常有特色的編輯器,屬於開源軟體,支持C、C++、Java、C#、XML、HTML、PHP、Javas cript編程語言,而且可以免費使用。
主要功能有:
①內置支持多達27種語法高亮度顯示(囊括各種常見的源代碼、腳本,值得一提的是,完美支持.nfo文件查看),也支持自定義語言;
②可自動檢測文件類型,根據關鍵字顯示節點,節點可自由折疊/打開,代碼顯示得非常有層次感!這是此軟體特色的體現之一;
③可打開雙窗口,在分窗口中又可打開多個子窗口,允許快捷切換全屏顯示模式(F11),支持滑鼠滾輪改變文檔顯示比例等等。

4、PHP Coder

PHPCoder用於快速開發和調試PHP應用程序,它很容易擴展和定製,完全能夠符合PHP開發者的個性要求 主要功能為:
1. 結合了PHP編譯器和參考文檔,可以對編輯中的PHP腳本進行即時預覽;
2. 支持高亮顯示HTML和PHP代碼;
3. 自動完成功能,可以自動完成用戶自定義代碼片斷;
4. 標准函數提示;
5. 有專門的工程項目管理器;
6. 對象瀏覽器搜尋編輯中文件的包含信息,自定義函數,並以樹形顯示;
7. 支持查找對稱的語句標記符;
8. 支持高級搜索和替換;
9. 自帶FTP功能;
10. 支持運行和斷點調試;
總之,PHPCoder是一個非常實用的,功能強大的編程環境,而且它是免費的!

5、Zend Studio

zend Studio 是專業開發人員在使用PHP整個開發周期中的集成開發環境 (IDE),它包括了PHP所有必須的開發部件。通過一整套編輯、調試、分析、優化和資料庫工具,Zend Studio 加速開發周期,並簡化復雜的應用方案。
Zend Studio主要組件
1 專業的集成開發環境 內置 編輯器, 調試器, 以及 幫助文檔
2 Windows, Linux, Mac 等多個操作系統版本
3 多語言支持
4 專業的編輯器
5 關鍵字、語法加亮顯示 (PHP, HTML, XHTML, and JavaScript)
6 XML & CSS 的關鍵字、語法加亮顯示
7 代碼模板
8 支持 PHP 4 and PHP 5
9 代碼自動完成功能
10 PHP Code (+PHPDoc) 分析功能
11 內部調試器
12 代碼摘錄
13 PHP 代碼分析
14 遠程調試器
15 Remote Profiler
16 資料庫連接以及集成查詢,適用於MySQL、Oracle 、SQL Server、SQLite、 PostgreSQL
17CVS 集成,方便團隊開發

Ⅹ 運用PHP可以做什麼項目啊

普遍的都是中小項目。但是現在各種開發框架的成熟,如zendframework,symfony等大型開發框家的產生,要開發企業應用也不是問題。

主要看自己需要,普通開發就面向過程,大型開發面向對象,你做作業還是簡單點的吧。比如寫一個學生成績管理,圖書管借書什麼的項目(包括分類,書目,檢索,借書記錄)...很多的。