本文目錄一覽:
什麼是php,什麼是apache,他們怎麼工作
你的理解基本上正確。
APACHE就是一個網絡服務器,這個服務器偵聽一個TCP端口,一般是80,對端口收到的命令進行解釋,然後提交一些結果。APACHE解釋的最主要的命令就是GET和POST,一般對應客戶端在瀏覽器輸入地址、瀏覽器裡面點擊鏈接和提交一個表單。APACHE對GET和POST命令進行解釋的時候,如果GET和POST的對象是一個HTML、CSS、JS、RAR、TXT等一般文件,就直接把文件的內容發回客戶端;如果對象是一個PHP文件,APACHE就啟用PHP.EXE程序(UNIX上名稱不一樣,而且安裝為模塊的細節又有不同,這裡只是舉例),把文件、調用的參數傳遞給PHP.EXE,然後把PHP.EXE執行的結果反饋給客戶端。
PHP可以調用各種庫執行各類功能,最典型的就是查詢數據庫。PHP.EXE解釋執行PHP文本文件裡面的語句,執行前一般不翻譯,就象批處理一樣。
APACHE可以配置多個類似PHP這樣的過濾器,凡是XXX類的文件,都提交給XXX.EXE執行,把執行完畢的內容發送給瀏覽器,其它文件直接發送。APACHE就這麼簡單的、機械的執行。
零基礎,想學習PHP,應該先學習什麼?
PHP需要掌握的知識還是比較多的,最基本的比如:PHP基本的語法、php框架以及CMS、mysql數據庫設計表、mysql數據庫的基本SQL語句。現在一般PHP的都得會前端,那就包括:js/ajax、html、css。如果更高點層次的就是linux服務器。
PHP攻城獅踐行學習路線圖:
1、用集成環境安裝PHP環境,一定要記住這一點,不要自己分開去裝,尤其是自學的朋友。不然你會覺得很複雜,會沒有信心學下去的。也要注意任何高手都不是一蹴而就的,是一步一步,不同的階段歷練才有最後的沉澱。
2、先了解一些基本的變量類型,語法,函數,基本邏輯,寫簡單的代碼。前期以嘗試,培養興趣為主。這段時間是打基礎很好的時候,這個會影響你後面的發展,不過也可以在後期去完善。
3、這時候你可能覺得PHP就這樣,沒什麼難度,或者有的覺得太難了,簡直一臉疑惑。這個到底有什麼用。在這時候一定要堅持下來,可以試試先放一下,別太較真。慢慢的困惑你的會被你領悟的。這時,建議學習html+css+js,緩解自己的壓力,這個相對簡單,簡歷信心。尤其是js,總結其實有相同的思路,可以結合著一起體會。
4、這些都感覺有80%了解就可以先放放了,現在在學習MySQL,也是先了解基礎的。這個是幹什麼的,我可以用它做什麼。因為之前裝的集成環境。為什麼感覺是凌亂的,我想告訴你的是,一是不要在自己沒能力解決問題的時候死磕,浪費時間,喪失信心。這時候我們要做的是學習壯大自己,不要灰心。二是我本來覺得這一切都了解才是完整的。我們的目標也是要把這些都做好,這才是一個合格的PHP程序員。
5、這一切都順利的話,你基本離預設的目標不遠了,完成了整個學習的70%了。後面的是在之前的基礎上升華。把HTML和css、js結合、靜態文件和PHP結合、PHP和MySQL結合。這個階段可能越到的問題會異常的多,一定要學會解決問題。網上很多都是答案,同樣你要學會問問題。
6、這些之後你基本已經快到學習的尾聲了,但還缺少經驗。這時,你可以看一些網上開源的cms,例如織夢,國內用的多,越到問題好解決。看看一些視頻(網上免費的很多),查漏補缺,總結歸納形成自己的知識體系。是時候該準備慶祝下自己這段的時間沒有白費(一般2到3各月,看平時每天花的時間),基本成為一個合格的PHP程序員了。也該恭喜你了,其實並不那麼難。堅持,堅持;努力,努力;學習,學習
如何學好php
1.首先,理解網站這一概念之後不難看出,任何網站都是由網頁組成的,也就是說想完成網站,必須先學會做網頁,因此必須要掌握了HTML,才能為今後製作網站打下基礎。
在學習HTML中我想邊學邊做是最有效的方式,當然這一方式對於學習PHP同樣是最有效的。HTML中的任何元素都要親自實踐,只有明白了什麼元素會起到什麼效果之後,你才會記憶深刻,而一味的啃書,絕對是不行的,我想大部分新手之所以覺得概念難學,大部分是一個字“懶”,懶是阻止進步的最大敵人,所以克服掉懶的習慣,才能更快的學好一樣東西。
也許您在學習PHP的時候只想儘快的開發一個網站,也就會想我做網站,幹嘛要學什麼網頁這些小兒科?不難看出,眼高手低的新手不在少數,這種思想無疑於建造空中樓閣,你不建地基,何來的房頂呢?
OK,掌握靜態網頁的製作技術是學習開發網站的先決條件,這一點就講到這裡,因為這篇文章不是教程文章,也就不對技術進行深入的刨析了。
我假設你目前已經可以完成一個靜態頁面了,當然,做的好看難看是另外一說,默默的第一個網頁也沒好看到哪去,但是“孩子”再丑,咱們做“爹媽”的也不能嫌棄不是?這畢竟是咱的成果。那麼咱們就開始學習動態語言的概念吧,剛一接觸動態語言,可能很多人都會蒙了,怎麼這亂七八糟的東西,在網頁里顯示的時候卻是另外一碼事?其實這並不算亂七八糟,你寫的HTML代碼不也一樣是一堆堆的字符嗎?畢竟,代碼並不是作為直接輸出的,而是經過處理的,說白了,HTML是經過HTML解析器,而PHP當然也就通過PHP解析器了,跟學習HTML一樣的道理,想讓任何的解析器完成操作,就必須使用它們專用的語法結構,所以PHP長相奇怪也就不足為奇了。
對於PHP的理解是新手最難邁過的一道門檻,不過你應該感到幸運的是PHP已經最大極限的為了新手而努力了,如果你學過其他的語言,也許會覺得PHP的確相當的簡單,但是如果你之前什麼都沒學過,那麼阿彌陀佛,硬着頭皮琢磨吧。
書過三遍自然熟,這個簡單的道理告訴我們,即使你理解不了PHP,但是也必須先跟它混個臉熟,看,一遍遍的看,看的同時一邊琢磨,一邊按照它所教的打代碼,即使你搞不清楚那些代碼到底是幹嘛的,但是起碼你應該找找感覺。
在一段掙扎之後,聰明的你,顯然已經逐漸的開悟了,慢慢的理解了編程的概念,那麼祝賀你,你已經邁出了成功的第一步。
2.搞清楚HTML和PHP的概念,那麼PHP和HTML混合編程應該不成問題,在這期間,你完全可以讓PHP給你算算 一加一等於幾,然後在瀏覽器輸出,不要覺得幼稚,這的確是跟阿波羅登月一樣,你打的是一小段代碼,但是對於你的編程之路,可是邁出了一大步啊!興奮吧?但是不得不再給你潑點冷水,您還是菜鳥一個。
高興一段時間就必須繼續努力了,接下來就是學習數據庫了,MYSQL可算是PHP的黃金搭檔了,不過,雖然話是這麼說,你也可能恨不得把MYSQL給生吞活剝了,因為這一行一列的東東簡直讓自己頭暈目眩。
頭暈歸頭暈,目眩歸目眩,你不可能吃飯的時候咬了自己一下舌頭就從此不吃飯了不是?放下畏懼,繼續努力,咱們是來征服它的,而不是被它征服的,振奮起來吧同志。
在一番搏鬥之後,你終於理解了數據庫的概念,而且讓你興奮不已的是你終於可以通過PHP來連接數據庫了,這期間你是怎麼學會的,我們不去考證了,但是事實證明,你已經可以了。 學會了PHP和數據庫的你,無疑是左手拿着MOTOLOLA右手拿着NOKIA,要多瀟洒,有多瀟洒,哈哈,終於學會了,但是可能這個時候,又會有人不經意的拍拍肩膀對你說:哥們,別高興的太早,你還是菜鳥,離學會還差着一大截呢!
等到你發奮努力的學會了用PHP成功的插入,刪除,更新數據的時候,顯然,你已經距離成功指日可待了。
這個時候的你也許是這種狀態: 你會HTML嗎?會,我能編好幾個大表格排板的網頁啦! 你會PHP嗎?會,我會把一加一的運算寫在函數里,然後調用啦! 你會MYSQL嗎?會,我會把我的信息在數據庫里插入刪除啦。那,接下來你該怎麼做呢?我覺得,小試一下身手,大概是沒問題了,那麼交給你個任務,做個留言本吧,這和HELLO WORLD有一比啊!^_^,同是新手面臨的第一道關。
3.花了一段時間,你終於學會把表單的數據插入數據庫,然後顯示出來了,應該說一個程序的雛形已經誕生了。但是,你可能瞅瞅東,看看西,人家這個編論壇,那個CMS,還有那啥CRM,我啥時候寫一個呢?不要急,可以說你的馬步已經扎的差不多了,接下來就要開始練把勢的時候了,如果有條件的話,用筆或者打印一個簡易的PHP手冊在身上,時不時的摸出來看看,記得,去WC也不能放過(^2^)。再有條件的話,買本書看看吧,《PHP+MYSQL WEB開發(第三版)》號稱聖經級,(也許是個不錯的選擇(聲明:作者沒給我啥好處費,我也不是書托,隔着大老遠,我連他老兄的面都沒見過的說-_-)
鞏固了自己的知識,熟悉了PHP和MYSQL開發的要領之後,再回頭看你寫的那個留言本,你也許會懷疑那真的是你寫的嗎?當然,如果屋裡還有鬼的話,也許是它寫的-_- 這個時候,你的留言本應該加入註冊以及分頁功能了,而如果你更強的話,UI(用戶界面)也可以加強,完成之後,感覺是不是特有成就感?不管怎麼樣,咱好歹是寫了一個動態網站程序了,放在自己的網站上耍耍吧,讓好朋友來看看,嘿,看咱寫的多棒,然後再在網上宣傳一下。幾天之後你再打開留言本,哎?哇,一下彈出N多頁面!很明顯,你的留言本並沒有做好安全防範,被人用JS代碼小小的耍了一下,我很同情你這個時候的感受,但是沒有別的辦法了,繼續努力吧!
你發奮努力,熟悉了安全方面的問題,然後又設計了一些程序,感覺還不錯。那麼接下來,這就算學會啦?NO,NO,NO,還早呢,你至盡還沒碰過OOP之類的吧?模板呢?恩,學!加緊學呀學,學會了這些之後,你又學會了生成靜態網頁,現在你應該接觸一下XML了,恩,XML也了解了,那麼AJAX你也得接觸接觸吧?AJAX完了….然後…
總而言之,你絕對不會發現你全部都學會了,一些真正的強人總會搞出新玩意來丟給你,你不學就落後了,也印證了前人的經驗,果然是學無止境啊!我想通過我的一番YY,你也應該大致熟悉了一些學習過程,也許我的過程和你的有些出路,但是不管怎麼樣是殊途同歸,我寫這麼多,也只是給大家一個借鑒的機會,至於好與不好,默默不敢打包票^0^ 看完之後你發現,羅嗦這麼多,對我一點用處沒有啊,我知道該怎麼學,但是我想如何才能更快的學,一周速成,啊不,24小時速成那種,默默你有沒?我…….我沒有,但是2分鐘之內把你扁進醫院裡,我倒是有把握-_-
4.學東西,永遠不要妄想有速成這一說,告訴你了一個方式,但是缺少努力這一環節,那也是白搭。但是有一點我可以給你保證的就是,你學會了PHP,那麼學其他的語言,肯定速成,反過來也一樣,如果你之前學過其他的語言,那麼學PHP肯定快。
不過語法好學,但是怎麼用語法來實現每個人都有每個人的方式,幾乎是各有千秋。然而借鑒別人成功的代碼,絕對是有益無害,因此,多看那些經過千錘百鍊凝出來的經典代碼,是進階的最好方法。
講了這麼多,無非是想說:學習PHP不僅要掌握方法,更多的是付出汗水,我不希望看到中途放棄的人,相信自己,相信自己的選擇,更要相信自己的能力,如果自己想放棄,暴力一點的話,就自己抽自己一個嘴巴,然後大吼:別人可以,我為什麼就不可以?(是不是有點閻羅教練的味道,默默的確是電影看多了,抽嘴巴是會痛的,各位其實明白這個道理了就行了)
PHP是什麼意思
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本預處理器”)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標準通用標記語言下的一個應用)文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。以下是PHP4.0的一個狀態,對於這個版本本人很喜歡,特意拿出給大家認識一下,覺得不錯的想學習的人可以加我裙哦 ,我的是前面二五七,中間是零一四,後面三個是零零一,想要了解學習的可以看看。
PHP4.0整個腳本程序的核心大幅更動,讓程序的執行速度,滿足更快的要求。在最佳化之後的效率,已較傳統CGI或者ASP等程序有更好的表現。而且還有更強的新功能、更豐富的函數庫。無論您接不接受,PHP 都將在 Web CGI 的領域上,掀起巔覆性的革命。對於一位專業的Web Master 而言,它將也是必修課程之一。
PHP 4.0是更有效的,更可靠的動態Web頁開發工具,在大多數情況運行比 PHP 3.0要快,其腳本描述更強大並且更複雜,最顯著的特徵是速率比的增加。PHP4.0這些優異的性能是PHP腳本引擎重新設計產生的結果:引擎由AndiGutmans和Zeev Suraski從底層全面重寫。PHP4.0 腳本引擎 ——Zend引擎,使用了一種更有效的編譯——執行方式,而不是PHP 3.0 採用的執行 ——當解析時模型。
優越性
PHP4在3.0版的基礎上增加或增強了許多有用的特徵,主要如下:
(1)別名:在PHP4中,可以利用引用為變量賦值,這給編程帶來了很大的靈活性。
(2)擴充了API模塊:PHP 4.0 為擴展的 API 模塊的提供了擴展PHP接口模塊,它比舊的 API 版本顯著地快。PHP 模塊已有的及最常用的接口多數被轉換到使用這個擴展的接口。
(3)自動資源釋放:PHP4增加了引用計數功能,這種新技術的引入使PHP4具有了自動內存管理功能,減輕了開發人員的負擔。
(4)布爾類型:PHP 4.0 支持布爾類型。
(5)進程生成:在 UNIX 環境下的 PHP 4.0 提供了一個很智能和通用的生成進程,使用了一種名為基於automake/libtool的系統生成技術。
(6)COM/DCOM 支持:PHP 4.0 提供 COM/DCOM 支持 ( 僅用於Windows 環境 ) 可以無縫地存取和訪問 COM 對象。
(7)與PHP 3.0 兼容性很好:PHP 4.0 是與 PHP 3.0 代碼向後兼容性接近100%。由於 PHP 4 的改進的體系結構,兩者有一些細微的差別,但是大多數人將可能永遠不可能遇上這種情況。
(8)配置:PHP4重新設計和增強了PHP.ini文件,這使得用PHP.ini來配置PHP顯得極為容易,這個文件可以在運行時被Apache(unix系統)或由Windows 註冊(Windows 環境)。
(9)加密支持:PHP4實現了完整的加密,這些加密功能是一個完整的mycrypt庫,並且 PHP 4.0 支持哈希函數。Blowfish,TripleDES,MD5,並且SHA1 也是可使用的一些加密算法。
(10)類型檢查:PHP 4.0 支持同一操作符用於評類型檢查:===(3 等號運算符,恆等計算符),為在兩個值和其類型之間作檢查。例如,’3′ ===3 將視為假 ( 類型是不同的),而 3 ==3 ( 相等判斷,不比較類型 ) 將視為真。
(11)FTP 支持:PHP 4.0 支持 FTP。通常,你會為通過一個調製解調器連接下載一個大文件提供一個接口。然而,如果你確實有需要,可以使用PHP。
(12)PHP4新增函數或功能增強函數:PHP 4.0 新增了許多函數,同時也將許多現有的函數功能進行了增強,以下是一些例子。array_count_values() eval() foreach() include() ob_end_clean() ob_end_flush() ob_get_contents() ob_start()strip_tags() unset()。
(13)here打印:PHP 4.0 的Here打印是與Perl類似的,儘管完全不相同。Here是打印大容量文章的一個有用的方法,例如在HTML文件中,不會漏掉任何一個字符,例如目錄標記。
(14)HTTP Session fallback 系統:為 HTTP Session管理的一個 fallback 系統在 PHP 4.0被實現。缺省情況下,Session標識符由cookies存儲。如果沒有cookies支持或一項cookies任務失敗,Session標識符自動被創建並在 URL 的查詢字符串中被攜帶。
(15)ISAPI 支持:PHP 4.0 能作為一個個性化的 ISAPI 模塊作為IIS插件。這比 PHP 3.0 更有效,它作為一個外部的程序來運行。
(16)內存:PHP 4.0 能更有效的使用內存,導致較少的內存佔用消耗,這主要歸功於引用計數技術的實現。⒄其他類成員函數:在 PHP 4.0 你能在成員函數本身的作用域或全局範圍內調用其他類的成員函數。例如,你能用一個子函數覆蓋父函數,並在子函數中調用父函數。
(17)多維數組:在 PHP 4.0 ,利用GET,POST,Cookies的進行的數據傳輸支持多維數組。
(18)個性化的 HTTPSession支持:HTTP Session處理,包括 fallback系統管理,在 PHP 4.0被它的新庫函數實現。在版本 3.0 中處理Session要求使用 PHPLIB 和第三方的庫函數,它比把Session直接地由 PHP 支持慢了許多。
(19)個性化的 Java 支持:PHP 4.0 支持和java的交互。這種個性化的Java 支持為PHP 在 Java 對象上創建和使用方法提供一個簡單並且有效的工具。
(20)對象和數嵌套組:PHP 4.0 實現了功能更加強大的對象,移去了 PHP 3.0存在的種種句法限制。對象能在數組以內被嵌套並且反過來也如此,可以根據你的需要實現嵌套。
(21)面向對象的編程:PHP 4.0 為面向對象的編程和構造類及對象提供擴展的功能和新特徵。PHP4實現了對象重載,引用技術等新技術。
(22)對象重載支持:對象重載語法允許第三方的基於面向對象的類庫使用 PHP4 的面向對象的特徵存取他們自身的功能。使用這個特徵的一個 COM 模塊已經被實現了。
(23)輸出緩衝支持:PHP 提供了一個輸出緩衝函數集合。輸出緩衝支持允許你寫包裹函數功能壓縮緩衝區。在 PHP4 的輸出緩衝支持允許 HTML 頭信息存放,無論 HTML的正文是否輸出。頭信息( (header(),content type,and cookies ) 不採用緩衝。
(24)增加了PCRE庫:PHP 4.0 包括一個 Perl 兼容的正則表達式(PCRE ) 庫,和正常regex庫一起與 PHP 綁定。split 和replace PCRE 功能被支持。PCRE 和 Perl 正規表達式之間有一些細微差別。
(25)PHP.ini 文件:PHP.ini文件在 PHP4.0 被重新設計,使用的 PHP 的配置PHP.ini是更容易並且更有效的。全部文件能被Apache 在運行時間操作 ( 在 Apache環境 下 ) 或由 Windows 註冊表 ( 在 Windows 下面 )。被加入PHP.ini文件的配置指令自動地在所有相關的模塊中被支持。
(26)引用計數:PHP 4.0 為系統中的每個數值提供了引用計數,包括資源。一旦一個資源不再被任何變量引用,它自動地被釋放以節省內存資源。利用這個特徵的最明顯的例子一個內置SQL查詢的循環語句。在PHP 3.0中 ,每次遞歸另外的 SQL 結果集合重複申請內存,直到腳本執行完畢,這些結果集合佔用的內存才被釋放。
(27)支持引用:通過引用可以改變一個變量的值。
(28)函數的運行時綁定:PHP 4.0 的運行時間綁定功能允許你在他們被聲明以前調用,無論聲明是否在代碼以後或是在運行時間。
(29)類的運行時信息:PHP 4.0 支持在運行時刻存取下列類信息:一個對象的類名,一個對象的父類的類名字,以及對象函數所在的名字。
(30)服務器抽象層:為支持Web服務器提供了增強型 SAPI ( 服務器 API ) 接口,是 PHP 4.0 不可分的一部分。這個服務器抽象層,提供了通用的WEB服務器接口支持,支持多線程WEB服務器,為大多數的WEB服務器提供透明的支持,這些服務器包括 Apache,IIS ( ISAPI ),以及 AOL 服務器。
(31)語法的點亮顯示:PHP 4.0 語法的點亮顯示允許開發者看見源代碼而不是腳本,這個功能比PHP 3.0中的更有效。它跑得更快,更執行得更好,並且產生更緊湊的HTML代碼。
(32)由引用改變變量的值:PHP 4.0 由引用支持可變的賦值,“關聯”的2個變量之中個的任何一個的值被改變,另外的變量的值同樣被改變,這類似與C中的指針類型。
(33)在引用字符串中的變量引用:PHP 4.0 增強了在引用字符串中的變量引用。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/303172.html