聽韓順平聊PHP初學者如何變身大牛(二)?

當然,有些學員還給我寫信說這樣一個問題,如何去檢驗第一階段: PHP前端網頁開發基礎,學習情況, 學習到怎樣的水平,再學習下一個階段比較好, 大家可以做一下下面的測試題,如果你能將下面的題都完成,說明你已經有一定基礎,可以學習下一個階段:(注意:需要獨立完成)

html css 試題

試題1:

請編寫如下一個html頁面

1.jpg


試題2:

請使用(div+css)盒子經典佈局編寫如下界面

2.jpg
試題3:

請使用div+css 盒子佈局模式編寫sohu首頁面佈局

3.jpg

javascript
試題

試題1

請按下面內容編寫一個頁面,點頁面裏的“全選”時,能選中或清除上面的所有水果。選擇你喜歡的水果:

      □蘋果

      □桔子

      □香蕉

      □葡萄

      □桃子

      □全選/全不選


試題2: 編寫一個簡單顯示和隱藏效果如圖所示:

4.jpg

試題3

請使用javascript相關函數對一個url

http://www.sohu.com:80/abc/index.htm
進行解析,

提示:考慮使用如下函數

stringObject.substring(start,stop)

stringObject.indexOf(searchvalue,fromindex)

stringObject.lastIndexOf(searchvalue,fromindex)


http://www.sohu.com:80/abc/index.htm

要求從上面給出的 url中得到:

協議是什麼       http

域名是什麼       www.sohu.com

端口是什麼        80

文件名是什麼   index.htm


試題4:

請使用js的正則表達式,驗證用戶輸入的電子郵件格式是否合法,該電子郵件必須滿足如下要求:

① 有且只有一個@

② @前面是用戶名,可以是a-z A-Z 0-9 _-字符

③ @後面是域名,形式如(sohu.com 、 tsinghua.org.cn 、163.com 等)
5.jpg


練習5:計算一個js整數數組的所有元素的和。

練習6:計算一個字符串 , 比如 “abcde中國,你好hello,12345”, 中含有多少箇中文字,多少個字母,多少個數字?

練習7:將一個js字符串數組的元素的順序進行反轉。("3","a","8","haha") 轉換爲("haha","8","a","3")。提示:第i個和第length-i-1個進行交換。不能使用js的reverse() 函數。


好,現在我們談談第二個階段應該學習什麼內容,如何學習的問題。

第二階段 PHP核心編程

(1)PHP基本語法加強

Apache--directory配置段、一個IP和多個域名綁定的兩種方式、HTTP協議入門介紹、Apache邏輯組件介紹、Apache生命週期、PHP運行之時序圖、PHP數據類型加強、PHP各種運算符加強、PHP三大流程控制加強、位運算(按位與、按位或、按位異或、按位非、位左移、位右移)、二進制(原碼、反碼、補碼)、PHP版本在線貸款計算器。

這裏,我想說明一下: PHP基礎語法看似簡單,但是也不可大意,有些PHP程序員工作了2年,對PHP運行的原理都不清楚,對Apache的一些重要調優配置也不瞭解,這樣的程序員,在公司是不行的,很難得到提升。所以就一直是一個編碼工人,薪資也上不去。

比如面試中經常問到: PHP中一個整數的範圍是多少, 小數的能表示的範圍是多少? 再比如如何在Apache中配置一個404錯誤頁面,如何給一個主機配置一個域名,具體怎樣操作?這樣一些基礎的問題都必須在這個階段搞定。推薦大家看 韓順平php視頻教程 23講-45講 ,有詳細到位的講解。

(2)PHP函數

PHP函數的基本介紹、如何自定義函數、PHP頁面調用函數、require()、require_once()、include()和include_once()的區別、從內存分析PHP函數調用過程、函數使用需要注意的細節、函數值傳遞和引用傳遞的區別。

函數是我們PHP編程最重要的一個知識點,也是進行模塊化編程的基礎,掌握好函數可以提高代碼的複用性、可讀性和可維護性。

(3)數組、排序和查找

數組的基本概念、數組的引用方式、數組引用陷阱、與PHP數組相關的函數(count、is_array、print_r、explode等)遍歷數組的三種方式、刪除數組元素和數組運算符、數組使用細節總結、內部排序法和外部排序法介紹、冒泡排序和快速排序、選擇排序和插入排序、順序查找和二分查找、二維數組介紹和使用。

依據我的經驗,我們去找工作的時候,一定會一道關於排序和查詢的題,最常見的問題是: 請你寫出冒泡排序法,並使用二分查找來查找一個數。在項目開發中,數組是銜接變量和函數的重要數據類型,在MVC開發中,往往需在控制器中將數組分配給視圖去顯示,在算法中,數組也是變化最爲靈活的。

(4)面向對象編程

面向對象編程基本概念、類和對象的關係、如何定義類、成員屬性(變量)、如何創建對象實例及如何訪問對象屬性、對象在內存中存在的形式、棧、堆、全局區、常量區和代碼區的關係、成員方法(函數)及使用細節、構造方法(函數)、默認構造方法(函數)、this的基本概念和使用、析構方法(函數)、PHP的對象垃圾回收器、靜態變量(類變量)的概念和使用、靜態方法(類方法)的概念和使用、面向對象編程的三大特徵介紹、面向對象編程-封裝、面向對象編程-繼承、面向對象編程-多態、訪問控制修飾符(public、protected、private)、方法重載(overload)、方法重寫(override)、方法重載(overload)和方法重寫(override)的比較、PHP魔術函數(__set __get __construct __destruct __call等 )和魔術常量(__LINE__ , __FILE__ ,__FUNCTION__等 )、抽象類(abstract class)的概念和使用接口(interface)的概念和使用、接口編程和繼承的區別、關鍵字final的使用、常量關鍵字const 的作用和使用注意事項、面向對象編程之強大的反射機制、面向對象編程之動態代理。

面向對象編程已經成爲PHP編程的主流,面向對象編程讓程序變得更加強大和靈活,更利於項目的開發和維護。關於面向對象編程 在 韓順平 php視頻教程 61講-78講,看看什麼纔是真正的PHP面向對象思想,什麼是真正的OOP。

(5)錯誤處理和異常處理

錯誤處理的基本概念、PHP處理錯誤的三種方式介紹、使用die()進程錯誤處理、自定義錯誤和錯誤觸發器、錯誤日誌、錯誤級別介紹、PHP異常處理的基本介紹、PHP異常處理(try throw catch)、自定義異常、如何設置頂級異常處理器、異常使用的規則。

在編寫php web 應用程序時,錯誤處理是一個重要的部分。如果您的代碼缺少錯誤檢測編碼,那麼程序看上去很不專業,也爲安全風險敞開了大門 。所以大家需要清楚在PHP編程中如何對錯誤和異常進行有效的處理,從而保證程序的安全和健壯。

(6)預定義超全局數組

預定義超全局數組-基本概念、$_GET、$_POST、$_REQUEST、$_SERVER、$_ENV、$_FILES 、$_COOKIE、$_SESSION、$GLOBALS、$_GET 使用陷阱(sql注入和中文亂碼問題)

(7)cookie和session

什麼是會話、cookie的基本概念、cookie的curd操作、cookie重要的api介紹、cookie運行原理圖解、cookie的實際運用(顯示用戶上次訪問時間、顯示用戶上次瀏覽過的商品、)、cookie使用的注意事項、session數據存放的位置和形式、session的curd操作、session運行原理圖解、session實際案例-在線購物車、IE禁用Cookie後的session處理方案、session防止用戶非法***、session配合驗證碼使用、php.ini 中關於cookie和session配置說明(重點,難點)、自定義會話處理器、Session和Cookie的區別。

Cookie(小甜餅)是客戶端技術,服務器把每個用戶的數據以cookie的形式 寫給用戶各自的瀏覽器。當用戶使用瀏覽器再去訪問服務器中的web資源時,就會帶着各自的數據去。

Session是服務器端技術,利用這個技術,服務器在運行時可以爲每一個用 戶的瀏覽器創建一個其獨享的session文件,當用戶再去訪問服務器中的其它web資源時,可以從用戶各自的session 中取出數據爲用戶服務。Session和Cookie是最重要的用戶行爲跟蹤技術,尤其是電商,sns項目中運用廣泛,因此是我們學習的重點和難點,也是面試筆試的重點。關於cookie和session大家可以參考韓順平 php視頻教程 114-121講

(8)PHP文件編程

文件及文件編程是什麼、文件流的基本概念、文件的操作方式、PHP文件編程函數彙總介紹、最常用的13個文件函數、使用文件完成網站計數器、文件上傳下載操作-mini版音樂共享網、無限級文件掃描器。

文件最主要的作用就是保存數據,它既可以保存一張圖片,也可以保存視頻 ,聲音...,本章節要求同學們掌握文件的各種操作和上傳下載,動態創建和刪除目錄,文件和無限級掃描文件等, 掌握好這些知識點對我們項目開發非常重要。

(9)PHP繪圖技術

php繪圖座標系、繪圖步驟說明、繪圖快速入門、繪圖最常用的函數、繪圖技術的實際運用—人口分佈餅狀統計圖、專業的報表開發--JpGraph、JpGraph的安裝和配置、JpGraph實際應用-網民支持情況統計圖、JpGraph中文亂碼處理。

如果你使用過財務軟件,那你一定看見過各種對財務數據進行統計和分析 的圖表,可能是表格,也可能是餅狀圖、柱狀圖、曲線圖..,簡單的說,就是使用圖表動態顯示數據。而這些圖表的顯 示都要使用到PHP的繪圖技術,繪圖技術要求熟練的使用PHP的繪圖函數完成項目的需求。能開發一些統計圖,非常有實用價值。比如:

6.jpg


      如何檢驗自己的學習效果,看看下面的一些面試題 , 看看能完成多少? 如果能正確完成80%,說明這個階段學到還不錯。

      練習1: 簡述echo(),print(),print_r()的區別?

      練習2: 說出PHP的超級全局變量數組,共九種

      練習3: 如何在一個php函數中使用具有全局屬性的變量,說出兩種方式

      練習4: 三個小題:

4.1.跳水比賽,8個評委打分。運動員的成績是8個成績取掉一個最高分,去掉一個最低分,剩下的6個分數的平均分就是最後得分。使用一維數組實現打分功能。

4.2.請把打最高分的評委和最低分的評委找出來。

4.3.找出最佳評委和最差評委。最佳評委就是打分和最後得分最接近的評委。最差評委就是打分和最後得分相差最大的。

      練習5: include和require都能把另外一個文件包含到當前文件中,他們有什麼區別?Include和include_once又有什麼區別?

      練習6: 寫出一個能創建多級目錄的PHP函數

      練習7: 寫出一個函數,能遞歸列出某個目錄下的所有文件夾和文件名.

      練習8: 在防止SQL注入的時候,通、會把單引號、雙引號等轉義,需要用到哪個函數

      練習9: 寫出插入排序法和快速排序法代碼

      練習10: 二分查找的原理是什麼? 請寫出二分查找函數

      練習11: 寫出php的public、protected、private三種訪問控制模式的區別

      練習12: 請寫出一個完整的嚴謹的單例模式

      練習13: __set 和 __get 魔術函數是做什麼的,在什麼時候被觸發

      練習14: 如何防止對象克隆, 對象克隆會複製 static屬性嗎?

      練習15: 說說strip_tags的作用和用法?

      練習16: 如果需要原樣輸出用戶輸入的內容,在數據入庫前,要用哪個函數處理?

      練習17: 如何控制多個進程去併發刪除,插入和更新數據庫的某張表?

      練習18: PHP的安全模式和非安全模式的區別


       韓順平php學科名師答疑裏對這些練習作了解答。更多免費視頻課程,請點擊 http://www.imeixue.cn 

點擊查看聽韓順平聊PHP初學者如何變身大牛(三)?


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章