日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

PHP独特学习模式_php基础知识

發布時間:2023/12/10 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP独特学习模式_php基础知识 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.PHP介紹

PHP即“超文本預處理器”,是一種通用開源腳本語言。PHP是在服務器端執行的腳本語言,與C語言類似,是常用的網站編程語言。PHP獨特的語法混合了C、JAVA、Perl以及PHP自創的語法。利于學習,應用廣泛,主要適用于Web開發領域。

二.PHP框架

A.ThinkPHP

1.借助成熟的Java思想

2.易于上手,有豐富的中文文檔;學習成本低,社區活躍度高

3.框架的兼容性較強,PHP4和PHP5完全兼容、完全支持UTF8等。

4.適合用于中小項目的開發

5.從thinkphp3.2.2引入composer包管理工具

缺點

1.對Ajax的支持不是很好;

2.目錄結構混亂,相比其他框架目錄結構要差一點;

3.上手容易,但是深入學習較難。

B.YII

優點

1.純OOP

2.用于大規模Web應用

3.模型使用方便

4.開發速度快,運行速度也快。性能優異且功能豐富

5.使用命令行工具。

6.支持composer包管理工具

缺點:

1.對Model層的指導和考慮較少

2.文檔實例較少

3.英文太多

4.要求PHP技術精通,OOP編程要熟練!

5.View并不是理想view,理想中的view可能只是html代碼,不會涉及PHP代碼。

C.laravel

優點

1.laravel的設計思想是很先進的,非常適合應用各種開發模式TDD, DDD 和BDD

2.支持composer包管理工具

3.集合了php 比較新的特性,以及各種各樣的設計模式,Ioc 容器,依賴注入等。

缺點

1.基于組件式的框架,所以比較臃腫

D.CodeIgniter

優點:

1.Code Igniter推崇“簡單就是美”這一原則。沒有花哨的設計模式、沒有華麗的對象結構,一切都是那么簡單。幾行代碼就能開始運行,再加幾 行代碼就可以進行輸出。可謂是“大道至簡”的典范。

2.配置簡單,全部的配置使用PHP腳本來配置,執行效率高;

3.具有基本的路由功能,能夠進行一定程度的路由;

4.具有初步的Layout功能,能夠制作一定程度的界面外觀;

5.數據庫層封裝的不錯,具有基本的MVC功能.

6.快速簡潔,代碼不多,執行性能高,

7.框架簡單,容易上手,學習成本低,文檔詳細;

8.自帶了很多簡單好用的library,框架適合小型應用.

缺點:

1.本身的實現不太理想。

2.內部結構過于混亂,雖然簡單易用,但缺乏擴展能力。

3.把Model層簡單的理解為數據庫操作.

4.框架略顯簡單,只能夠滿足小型應用,略微不太能夠滿足中型應用需要

E.Zend Framework

優點:

1.大量應用了PHP5中面向對象的新特征:接口、異常、抽象類、SPL等等。這些東西的應用讓Zend Framework具有高度的模塊化和靈活性

2.嚴格遵循“針對接口編程”和“單一對象職責”等原則

3.官方出品,自帶了非常多的library,框架本身使用了很多設計模式來編寫,架構上很優雅,執行效率中等

4.MVC設計,比較簡潔

5.具有路由功能,配置文件比較強大(能夠處理XML和php INI)

6.能夠直觀的支持除數據庫操作之外的Model層(比 CodeIgniter 和 CakePHP 強),并且能夠很輕易的使用Loader功能加載其他新增加的Class

7.Cache功能很強大,從前端Cache到后端Cache都支持,后端Cache支持Memcache、APC、SQLite、文件等等方式

8.數據庫操作功能很強大,支持各種驅動(適配器)

9.文檔很全,在國內社區很成熟

缺點:

1.MVC功能完成比較弱,View層簡單實現(跟沒實現一樣),無法很強大的控制前端頁面.

2.沒有自動化腳本,創建一個應用,包括入口文件,全部必須自己手工構建,入門成本高

3.對于簡單和小型的項目來說,反而因為在框架中應用了大量面向對象設計,對開發者提出了更高的要求,間接增加了項目的開發成本

F.CakePHP

優點:

1.最類似于RoR的框架,包括設計方式,數據庫操作的Active Record方式

2.設計層面很優雅,沒有自帶多余的 library,所有的功能都是純粹的框架,執行效率還不錯

3.數據庫層的 hasOne, hasMany功能很強大,對于復雜業務處理比較合適

4.路由功能,配置功能難度適中

5.自動構建腳手架(scaffold)很強大,適合中型應用

6.基本實現過了MVC每一層

7.具有自動操作命令行腳本功能

8.文檔比較全,學習成本中等

缺點:

1.CakePHP非常嚴重的問題是把Model理解為數據庫層操作,嚴重影響了除了數據庫之外的操作能力

2.cache功能略顯薄弱

3.配置功能稍嫌弱

4.不適合大型應用,只適合中型應用,小型應用來說略微的學習成本高了點

G.Symfony

優點:

1.完整實現了MVC三層

2.封裝了所有東西,包括 $POST,$GET 數據,異常處理,調試功能,數據檢測

3.包含強大的緩存功能

4.自動加載Class,能夠很隨意的定義各種自己的class

5.強大的語言支持

6.具有很強大的view層操作,能夠零碎的包含單個多個文件

7.非常強大的配置功能,使用xml配置能夠控制所有框架和程序運行行為

8.包含強大的多層級項目和應用管理:Project --> Application --> Module --> Action,能夠滿足一個項目下多個應用的需要,并且每層可以定義自己的類庫,配置文件,layout

9.非常強大的命令行操作功能,包括建立項目、建立應用、建立模塊、刷新緩存等等

10.Symfony絕對是開發大型復雜項目的首選,因為使用了Symfony,將大大節約開發成本,并且多人協作的時候,不會出現問題,在Project級別定義好基礎Class以后,任何模塊都能夠重用,大大復用代碼.

缺點:

1.最大的問題也在于使用了太多風格迥異的開源項目來組合成框架

2.由于Mojavi和Propel本身都相當復雜,因此Symfony的結構非常復雜,難以理解和學習

3. 緩存功能無法控制,每次開發調試總是緩存,需要執行 symfony cc,symfony rc來清除和重建緩存

4.效率不是很高,特別是解析模板和讀取配置文件的過程,花費時間不少

5.學習成本很高,并且國內沒有成熟的社區和中文文檔

總評:

以上數款框架,各有特色,而且都是開源項目,不過框架針對的項目不一樣,一般來說:

1.小型項目:CodeIngiter

2.中型項目:CakePHP、Zend Framework、Laravel、Thinkphp

3.大型重量級項目:Yii、Symfony、Laravel

三. PHP5和PHP7的比較

1、性能提升:PHP7比PHP5.0性能提升了兩倍。

2、以前的許多致命錯誤,現在改成拋出異常。

3、PHP 7.0比PHP5.0移除了一些老的不在支持的SAPI(服務器端應用編程端口)和擴展。

4、PHP 7.0比PHP5.0新增了空接合操作符。

5、PHP 7.0比PHP5.0新增加了結合比較運算符。

6、PHP 7.0比PHP5.0新增加了函數的返回類型聲明。

7、PHP 7.0比PHP5.0新增加了標量類型聲明。

8、PHP 7.0比PHP5.0新增加匿名類。

9、錯誤處理和64位支持

為什么 PHP7 比 PHP5 性能提升了?

1、變量存儲字節減小,減少內存占用,提升變量操作速度

2、改善數組結構,數組元素和hash映射表被分配在同一塊內存里,降低了內存占用、提升了 cpu 緩存命中率

3、改進了函數的調用機制,通過優化參數傳遞的環節,減少了一些指令,提高執行效率

總結:

在過去的 5.* 時代里,php 的性能是不可描述的。

充其量也就是一般。

但是,在 7.0 版本中,PHP 核心的很大一部分被從頭開始重寫,導致性能提高了兩三倍。

此外,每個 7.* 版本都對性能產生了積極影響。

當 PHP8 問世時,我們還將擁有一個 JIT 編譯器,承諾進行有趣的性能改進,并允許 PHP 進入 web 開發以外的新領域。

總結

以上是生活随笔為你收集整理的PHP独特学习模式_php基础知识的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。