《寫PHP框架需要具備那些知識?》要點:
本文介紹了寫PHP框架需要具備那些知識?,希望對您有用。如果有疑問,可以聯系我們。
如果沒用過框架,討論各個框架的內容都沒有可討論性,想本身寫個框架涉及到的內容很多,個人覺得本身寫一個框架對本身的邏輯思維,開發架構以及這門語言都有質的提升.可以參照其他框架的源代碼,僅僅是看他們的思路,去粗取精 .
簡單的說,使用知名的產品,一般都是忙于實現,缺乏宏觀意識,由此說來開發一個框架也是很正常的.也可以簡單的路由分發,mvc分層.基本的架子搭起來后,逐步完善.在工作中,碰到只需要自己一個人來完成的一次性小項目,就可以試試自己的框架了.建議找幾個簡單的框架看看,個人保舉codergniter,算是結構最清晰的框架了.
別太早深入細節,類庫、插件這些都是浮云,合理的架構規范最重要.要讓年夜象跳舞,在功能強年夜的前提下,盡量的輕,別動不動引用一堆類,一堆配置文件.很多框架只能說是個類庫其實很簡單的東西.
首先肯定你掌握了以下知識:
1.通過url傳遞和接受參數處置2.知道include的含義3.會echo和定義函數.
另外必要了解的知識有:
1 路由解析2 路由分派3 IoC4 數據庫封裝5 cache封裝6 模版解析 文件cache
7 平安 xss sql注入8 http 操作9 圖片操作 每一塊都會展開很多的知識點.
很多人當聽到別人要開發框架的時候第一想法就是,又重復造輪子.其實造輪子的過程是一個快速積累知識的過程,能較快的發現本身的不足,以及學到一些本身未發現的知識點.所以建議在有一定PHP基礎的情況下,都去嘗試完成一個五臟俱全的基本框架吧.
簡單論述造輪子的過程:
1. 嘗試試用一個以上的框架,看完一遍使用文檔,目的在于了解它都有哪些功能,發現他的一些比擬好的用法設計;
2. 在看文檔的同時并行的思考這一部分的實現原理,如果想不明白則記下來或者上Github去看源碼(當然在不熟悉代碼布局的情況下可能很難找,所以我建議還是先記下來);
3. 看它的項目結構,同時思考這個結構的意義,好比現在大部分框架都把入口文件與靜態資源單獨放到public目錄里與其它目錄分開的原因是什么;
4. 嘗試看一遍源碼的運行流程,從入口到輸出,以及錯誤處理,模板引擎,配置等多個點了解一下(如果基礎允許的話,在這過程中辦理上面記下來的疑點吧);
5. 開始本身實現吧,先寫一個大概的功能列表,把你要實現的點寫出來;
6. 然后思考如果組織代碼布局,在沒有太多實踐經驗的情況下就按你最熟悉的方式組織吧(先實現再優化);
7. 先跑通根本的hello world!;
8. 一點點加功效;
9. 發現不敷,改進并優化它;
這里在加功能的時候,盡量自己實現所有的能實現的組件,比如文件上傳,錯誤處理等等,畢竟目的是實習知識.那么這過程其實走下來對于基礎稍差的人來說可能會特別不順利,那么沒關系,遇到哪一個點卡住,先辦理你對這個點的問題,快速補充知識再回來繼續.
總結一些在造框架進程中通常會用到的一些點:
1. MVC
2. 主動加載: PHP: 主動加載類;
3. 差錯處理:http://php.net/manual/zh/book.errorfunc.php;
4. PHP尺度庫 (SPL)PHP: SPL - Manual;
5. 輸出緩沖節制: PHP: 輸出節制;
6. PHP 選項/信息:PHP:PHP 選項/信息;
7. 數據庫形象層:PHP: 數據庫形象層;
8. session拓展:PHP: Session 擴大;
9. 反射:http://php.net/manual/zh/book.reflection.php;
10. 類和工具:PHP: 類/工具;
11. 圖像處置和 GD:PHP: GD - Manual;
12. 郵件相關的SMTP;
13. 文件體系:PHP: Filesystem;
14. 預界說變量:PHP: 預界說變量;
15. 字符串處置:PHP: 字符串 - Manual;
15. 正則表達式: http://php.net/manual/en/book.pcre.php;
基本的可能上面這些也足夠了,雖然上面給的每一個鏈接都有很多內容,然則掌握常用的就好,可以結合搜索引擎去了解.
如果你想給框架加一些更巧妙的,或者更豐碩的功能的話,這里還有一些知識點:
1. 常見的設計模式:工廠、單例,外觀、察看者等;
2. 迭代器等預界說接口:PHP: 預界說接口;
3. 數據庫拓展:PHP: 數據庫擴大;
4. 國際化與字符編碼支撐 PHP: 國際化與字符編碼支撐;
5. 常用的緩存,Redis, Memcache,Apc等;
6. 行列步隊服務如ActiveMQ,Beanstalkd等;
7. 多半據庫支持如Mongo;
8. 變亂與鉤子;
另外還有一種創建框架的方式,不過這里用“創建”已經不太合適了,叫組合框架吧,那就是使用Composer基于開源組件拼裝一個屬于自己的框架.當然這里不建議新手這么干,這可能會讓你在很多基礎的東西上得不到熬煉.如果個人技術能力已經比較成熟了,目的在于快速開發項目的時候,用它絕對是利器.
P.S:最后保舉一些參考框架:
1. Slim Framework - 微框架,一個框架基本功能都滿足了,很得當用于學習;
2. Silex - 微框架,基于Symfony2組件;
3. CodeIgniter - 布局很清晰的PHP框架;
另外這里還有一些教程可以參考,不過建議先本身嘗試:
1. Write your own PHP MVC Framework (Part 1)
2. 使用PHP搭建本身的MVC框架
想了解更多PHP問題的找老師?后援網劉老師企鵝: 1455067020
看完不要跑記得進去吐吐槽!╰( ̄▽ ̄)╮
歡迎參與《寫PHP框架需要具備那些知識?》討論,分享您的想法,維易PHP學院為您提供專業教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/9101.html