本文目錄一覽:
- 1、為什麼 Laravel 會成為最成功最流行的 PHP 框架
- 2、當今流行的PHP框架中各自都有什麼特點,優缺點都在哪?
- 3、什麼是PHP
- 4、PHP開發的發展現狀和前景怎麼樣
- 5、什麼是php的框架 ThinkPHP這個又是怎麼用的
- 6、php的發展史
為什麼 Laravel 會成為最成功最流行的 PHP 框架
Laravel是一個有著美好前景的年輕框架,它的社區充滿著活力,同時提供了完整而清晰的文檔,而且為快速、安全地開發現代應用提供了必要的功能。
2011年,Taylor Otwell首次將Laravel帶給這個世界,彼時,Laravel就是一個全新且現代的框架。Laravel基於MVC架構,可以滿足諸如事件處理、用戶身份驗證等各種需求,同時通過包管理實現模塊化和可擴展的代碼,並且對資料庫管理有著健壯的支持。
不管是專家還是新手,一旦接觸到Laravel,都會有相見恨晚之感——這正是你在為PHP項目尋找的框架。本文我們將討論為什麼Laravel會成為最成功最流行的PHP框架。
模塊化可擴展性
Laravel是模塊化和可擴展的,你可以在包含超過5500個程序包的Packalyst中找到你想要添加的任何代碼。
微服務API
Lumen是一個由Laravel衍生的專註於性能的微框架。使用Lumen提供的高性能API你可以更加簡單快速地開發微型項目。Lumen使用最小的配置集成了Laravel的所有重要特性,你可以通過將代碼複製到Laravel項目來實現框架的完整遷移。
?php
$app-get(‘/’, function() {
return view(‘lumen’);
});
$app-post(‘framework/{id}’, function($framework) {
$this-dispatch(new Energy($framework));
});
HTTP路由
Laravel擁有類似於Ruby on Rails的快速高效的路由系統。它可以讓用戶通過在瀏覽器上輸入路徑的方式讓應用程序的各部分相關聯。
Route::get(‘/’, function () {
return ‘Hello World’;
});
HTTP中間件
Route::get(‘/’, function () {
return ‘Hello World’;
});
Laravel可以通過中間件對應用進行保護——中間件會處理分析和過濾到達伺服器的HTTP請求。你可以使用中間件來驗證註冊用戶、避免跨站腳本攻擊(XSS)以及其它安全問題。
?php
namespace App\Http\Middleware;
use Closure;
class OldMiddleware {
public function handle($request, Closure $next) {
if ($request-input(‘age’) = 200) {
return redirect(‘home’);
}
return $next($request);
}
}
緩存
Laravel提供了健壯的緩存系統,使用緩存可以讓應用載入地更加快速,從而帶來更好的用戶體驗。
Cache::extend(‘mongo’, function($app) {
return Cache::repository(new MongoStore);
});
身份驗證
安全是至關重要的。Laravel自帶對本地用戶的身份驗證,並可以使用「remember」 選項來記住用戶。此外你還可以引入一些額外參數,例如是否是活躍用戶。
if (Auth::attempt([’email’ = $email, ‘password’ = $password, ‘active’ = 1 ], $remember)) {
// The user is being remembered…
}
集成Stripe
Laravel Cashier可以滿足你開發支付系統過程中所需要的任何需求。除此之外,它還同步並集成了用戶身份驗證系統。所以,你不再需要擔心如何將計費系統集成到開發中了。
$user = User::find(1);
$user-subscription(‘monthly’)-create($creditCardToken);
任務自動化
Elixir是一個讓我們可以使用Gulp定義任務的Laravel API,我們可以使用Elixir定義預處理器來壓縮CSS 和JavaScript。
elixir(function(mix) {
mix.browserify(‘main.js’);
});
加密
一個安全的應用應該做到可以對數據進行加密。在Laravel中,可以使用OpenSSL和AES-256-CBC加密演算法來滿足你所有的加密需求。此外,所有的加密值都通過認證碼進行簽名以避免加密信息被篡改。
use Illuminate\Contracts\Encryption\DecryptException;
try {
$decrypted = Crypt::decrypt($encryptedValue);
} catch (DecryptException $e) {
//
}
事件處理
Laravel應用中對事件的定義、記錄和監聽都非常便捷。服務提供者EventServiceProvider中的listen屬性包含了應用中的所有事件列表。
protected $listen = [
‘App\Events\PodcastWasPurchased’ = [
‘App\Listeners\EmailPurchaseConfirmation’,
],
];
分頁
在Laravel中分頁非常簡單,因為它能夠根據用戶在瀏覽器中的當前頁生成一系列分頁鏈接。
?php
namespace App\Http\Controllers;
use DB;
use App\Http\Controllers\Controller;
class UserController extends Controller {
public function index() {
$users = DB::table(‘users’)-paginate(15);
return view(‘user.index’, [‘users’ = $users]);
}
}
對象關係映射(ORM)
Laravel包含了一個資料庫處理層,其中的對象關係映射被稱作Eloquent。另外這個對象關係映射也適用於PostgreSQL。
$users = User::where(‘votes’, ”, 100)-take(10)-get();
foreach ($users as $user) {
var_dump($user-name);
}
單元測試
單元測試的開發是一個耗費大量時間的任務,但是它卻保證了我們的應用能夠正常工作,不出問題。Laravel使用PHPUnit進行單元測試。
?php
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class ExampleTest extends TestCase {
public function testBasicExample() {
$this-visit(‘/’)-see(‘Laravel 5’)-dontSee(‘Rails’);
}
}
待辦事項清單(Queue)
Laravel提供了在後台使用待辦事項清單(to do list)處理複雜、漫長流程的選擇,好吧,其實就是隊列,隊列可以讓我們非同步處理某些流程而不需要用戶在載入頁面時長時間的等待。
Queue::push ( new SendEmail ( $ message ));
當今流行的PHP框架中各自都有什麼特點,優缺點都在哪?
以下為十個目前最流行的基於MVC設計模式的PHP框架。
1. Yii
Yii是一個基於組件的高性能的PHP的框架,用於開發大規模Web應用。Yii採用嚴格的OOP編寫,並有著完善的庫引用以及全面的教程。從MVC,DAO/ActiveRecord,widgets,caching,等級式RBAC,Web服務,到主體化,I18N和L10N,Yii提供了今日Web 2.0應用開發所需要的幾乎一切功能。而且這個框架的價格也並不太高。事實上,Yii是最有效率的PHP框架之一。
2. CodeIgniter
CodeIgniter是一個應用開發框架——一個為建立PHP網站的人們所設計的工具包。其目標在於快速的開發項目:它提供了豐富的庫組以完成常見的任務,以及簡單的界面,富有條理性的架構來訪問這些庫。使用CodeIgniter開發可以往項目中注入更多的創造力,因為它節省了大量編碼的時間。
3. CakePHP
CakePHP是一個快速開發PHP的框架,其中使用了一些常見的設計模式如ActiveRecord,Association Data Mapping,Front Controller以及MVC。其主要目標在於提供一個令任意水平的PHP開發人員都能夠快速開發web應用的框架,而且這個快速的實現並沒有犧牲項目的彈性。
4. PHPDevShell
PHPDevShell是一個開源(GNU/LGPL)的快速應用開發框架,用於開發不含Javascript的純PHP。它有一個完整的GUI管理員後台界面。其主要目標在於開發插件一類的基於管理的應用,其中速度、安全、穩定性及彈性是最優先考慮的重點。其設計形成了一個簡單的學習曲線,PHP開發者無需學習複雜的新術語。PHPDevShell的到來滿足了開發者們對於一個輕量級但是功能完善,可以無限制的進行配置的GUI的需求。
5. Akelos
Akelos PHP框架是一個基於MVC設計模式的web應用開發平台。基於良好的使用習慣,使用它可以完成如下任務:
◆方便的使用Ajax編寫views
◆通過控制器管理請求(request)及響應(response)
◆管理國際化的應用
◆使用簡單的協議與模型及資料庫通信
你的Akelos應用可以在大多數共享主機服務供應方上運行,因為Akelos對伺服器唯一的要求就是支持PHP。因此,Akelos PHP框架是理想的用於發布單獨web應用的框架,因為它不需要非標準PHP配置便能運行。
6. Symfony
Symfony是一個用於開發PHP5項目的web應用框架。
這個框架的目的在於加速web應用的開發以及維護,減少重複的編碼工作。
Symfony的系統需求不高,可以被輕易的安裝在任意設置上:你只需一個Unix或Windows,搭配一個安裝了PHP5的網路伺服器即可。它與差不多所有的資料庫兼容。Symfony的價位不高,相比主機上的花銷要低得多。
對於PHP開發者而言,使用Symfony是一件很自然的事,其學習曲線只有短短一天。乾淨的設計以及代碼可讀性將縮短開發時間。開發者可以將敏捷開發的原理(如DRY,KISS或XP等)應用在其中,將重點放在應用邏輯層面上,而不用花費大量時間在編寫沒完沒了的XML配置文件上。
Symfony旨在建立企業級的完善應用程序。也就是說,你擁有整個設置的控制權:從路徑結構到外部庫,幾乎一切都可以自定義。為了符合企業的開發條例,Symfony還綁定了一些額外的工具,以便於項目的測試,調試以及歸檔。
7. Prado
PRADO團隊由一些PRADO狂熱者組成,這些成員開發並推動PRADO框架以及相關項目的進行。
PRADO的靈感起源於Apache Tapestry。從04年開始,PRADO成為SourceForge上的開源項目之一。這個項目目前進展到了3.x版本。
8. Zend
作為PHP藝術及精神的延伸,Zend框架的基礎在於簡單,面向對象的最佳方法,方便企業的許可協議,以及經過反覆測試的快速代碼庫。Zend框架旨在建造更安全,更可靠的Web 2.0應用及web服務,並不斷從前沿廠商(如Google,Amazon,Yahoo,Flickr,StrikeIron和ProgrammableWeb等)的API那裡吸收精華。
9. ZooP
Zoop PHP框架,意為Zoop面向對象的PHP框架。
這是個穩定,可伸縮並可移植的框架。從誕生到現在的5年間,已經在不少產品開發中被使用。Zoop是一個快速,有效並乾淨的框架。它的伸縮性很好,你可以只安裝你需要的功能。
對代碼並不很熟悉的開發者也可以通過Zoop快速的開發安全的web應用。熟練的開發者則可以更加將Zoop的彈性利用到極致。
Zoop建議將display,logic以及數據層(MVC)分開使用。
Zoop由很多組件和項目集合而成,其中包括smarty和prototype AJAX框架,PEAR模塊等。高效的核心組件提供了很多你原本需要自己編碼來實現的功能。Zoop內置的糾錯功能可以通過配置實現生產環境下的錯誤日誌生成,這個錯誤日誌提供了很多信息,可讀性很高,可以更輕易的尋找並排除錯誤。
Zoop的一個特別之處在於其GuiControls,在PHP中是一個相當革新的想法。它提供了很多form widgets與驗證完整的集合到一起,並形成了一個可以輕鬆打造個性化GuiControls的框架。
10. QPHP
QPHP,意為快速PHP,它是一個與ASP.NET類似的MVC框架。基本上它是這樣一個情況:
◆整合了Java和C#的美感
◆除去了在其他PHP框架中使用的Perl形式的意義含糊的語言
◆大量基於OOP的概念
什麼是PHP
PHP,一個嵌套的縮寫名稱,是英文超級文本預處理語言(PHP:Hypertext Preprocessor)的縮寫。PHP 是一種 HTML 內嵌式的語言,PHP與微軟的ASP頗有幾分相似,都是一種在伺服器端執行的嵌入HTML文檔的腳本語言,語言的風格有類似於C語言,現在被很多的網站編程人員廣泛的運用。PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創新的語法。它可以比 CGI 或者 Perl 更快速的執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;與同樣是嵌入HTML文檔的腳本語言JavaScript相比,PHP在伺服器端執行,充分利用了伺服器的性能;PHP執行引擎還會將用戶經常訪問的PHP程序駐留在內存中,其他用戶再一次訪問這個程序時就不需要重新編譯程序了,只要直接執行內存中的代碼就可以了,這也是PHP高效率的體現之一。PHP具有非常強大的功能,所有的CGI或者JavaScript的功能PHP都能實現,而且支持幾乎所有流行的資料庫以及操作系統。
PHP 最初是1994年Rasmus Lerdorf創建的,剛剛開始只是一個簡單的用Perl語言編寫的程序,用來統計他自己網站的訪問者。後來又用C語言重新編寫,包括可以訪問資料庫。在1995年以Personal Home Page Tools (PHP Tools) 開始對外發表第一個版本,Lerdorf寫了一些介紹此程序的文檔,並且發布了PHP1.0。在這早期的版本中,提供了訪客留言本、訪客計數器等簡單的功能。以後越來越多的網站使用了PHP,並且強烈要求增加一些特性,比如循環語句和數組變數等等,在新的成員加入開發行列之後,在1995年中,PHP2.0發布了。第二版定名為PHP/FI(Form Interpreter)。PHP/FI加入了對mSQL的支持,從此建立了PHP在動態網頁開發上的地位。到了1996年底,有15000個網站使用 PHP/FI;時間到了1997年中,使用PHP/FI的網站數字超過五萬個。而在1997年中,開始了第三版的開發計劃,開發小組加入了 Zeev Suraski 及 Andi Gutmans,而第三版就定名為PHP3。2000年,PHP4.0又問世了,其中增加了許多新的特性。2004年7月,PHP5正式版本的發布,標誌著一個全新的PHP時代的到來。它的核心是第二代Zend引擎,並引入了對全新的PECL模塊的支持。PHP5的最大特點是引入了面向對象的全部機制,並且保留了向下的兼容性。程序員不必再編寫缺乏功能性的類,並且能夠以多種方法實現類的保護。另外,在對象的集成等方面也不再存在問題。使用PHP5引進了類型提示和異常處理機制,能更有效的處理和避免錯誤的發生。
在不斷更新的同時,PHP5依然保留對舊有的PHP4程序可以運行於PHP5的平台上而不會出現較大問題。隨著MySQL資料庫的發展,PHP5還綁定了新的MySQLi擴展模塊,它提供了一些更加有效的方法和實用工具用於處理資料庫操作。這些方法大都以面向對象的方式實現,同時也極大地提高了基於資料庫的Web項目的執行速度。
另外,PHP5中還改進了創建動態圖片的功能,目前能夠支持多種圖片格式(如PNG、GIF、TTIF、JPGE等)。PHP5以及內置了對GD2庫的支持,因此安裝GD2庫(主要指UNIX系統中)也不再是件難事,這使得處理圖像十分簡單和高效。
大多數Web程序開發者依然將XML作為一個徹底的簡單資料庫使用。PHP5中也採用了一系列簡單易用、功能強大的方法處理XML文檔。
今天,已經有包括Yahoo.com和Amazon.com,,百度等在內的數百萬網站,以及眾多的開發人員和編程愛好者正在使用PHP。
PHP開發的發展現狀和前景怎麼樣
1、任何專業都有無數的機會,就看你如何去看待,未來是虛擬現實、人機交互時代。
每一門計算機語言都有其相對具有優勢的領域,作為全球十大流行開發語言之一的PHP也是如此,PHP這門語言更適合在WEB環境,即互聯網的環境下作為主要開發語言,因為PHP是全球公認的網站開發利器。全球約70%的網站都是使用PHP這麼語言開發的。
2、大多數的網站,包括那些行業巨頭例如新浪,百度,騰訊,搜狐,網易等都在使用PHP技術,說明了企業和市場需求這樣一門技術,既然企業和市場需求,那麼就能體現出學習PHP是否有前途。
3、PHP軟體開發,網站建設等都屬於互聯網行業,大家都知道,互聯網行業的白領都是高薪階層,能力有多高,工資就可以有多高!
當然,很多人進入這個行業的目的並不是為了工作,而是為了更大的夢想—創業!那麼我可以告訴你,這是最明智的選擇,因為互聯網行業從來不缺乏機會,就看你敢不敢想,敢不敢做。無數的從事PHP的小團隊至今都已是行業先鋒,成功沒有想像中的那麼遠,只要你敢站起來,行動起來。
功能強大
PHP開發語言強大的性能完全滿足如何類型的網站建設需求。隨著這幾年PHP的更新和優化,功能也越來越強大了,像百度、淘寶、天貓這樣的大型網站都是採用PHP開發,這足以說明PHP的功能強大。
安全性好
當然這裡說的安全性好並不是說PHP開發的網站就不會被攻擊,因為在互聯網上沒有絕對的安全,小編說的安全性好是相對的,PHP語言安全性相對要好一些的一個重要因素就是採用linux伺服器,linux伺服器的安全性比windows伺服器安全性高很多,這點是無可爭議的。
php免費開源
用PHP開發網站一般用的是mysql資料庫和linux系統,因為這都是免費開源的,不像mssql資料庫和windows伺服器,正版是要收費的,雖然網上有盜版的,但是大型企業一般還是不敢使用盜版的,風險太大。
開發成本低
PHP語言入門簡單,相對net而言沒有那麼複雜,所以學PHP程序開發的人要比學net的多,人多那成本當然就相對低一些了。
開發框架完善
PHP的開發框架非常大,像國外有Yii,國內有ThinkPHP,這些第三方開發框架經過多年的完善,可以提高網站安全性,也節約網站開發時間
什麼是php的框架 ThinkPHP這個又是怎麼用的
框架,即framework。其實就是某種應用的半成品,就是一組組件,供你選用完成你自己的系統。簡單說就是使用別人搭好的舞台,你來做表演。而且,框架一般是成熟的,不斷升級的軟體。
為什麼要用框架?
因為軟體系統發展到今天已經很複雜了,特別是伺服器端軟體,設計到的知識,內容,問題太多。在某些方面使用別人成熟的框架,就相當於讓別人幫你完成一些基礎工作,你只需要集中精力完成系統的業務邏輯設計。而且框架一般是成熟,穩健的,他可以處理系統很多細節問題,比如,事物處理,安全性,數據流控制等問題。還有框架一般都經過很多人使用,所以結構很好,所以擴展性也很好,而且它是不斷升級的,你可以直接享受別人升級代碼帶來的好處。
框架一般處在低層應用平台(如java
里的
J2EE)和高層業務邏輯之間的中間層。
ThinkPHP是一個開源的PHP框架,
是為了簡化企業級應用開發和敏捷WEB應用開發而誕生的
原名FCS,2007年元旦正式更名為ThinkPHP,並且遵循Apache2開源協議發布。早期的思想架構來源於Struts,後來經過不斷改進和完善,同時也借鑒了國外很多優秀的框架和模式,使用面向對象的開發結構和MVC模式,融合了Struts的Action和Dao思想和JSP的TagLib(標籤庫)、RoR的ORM映射和
ActiveRecord模式,封裝了CURD和一些常用操作,單一入口模式等,在模版引擎、緩存機制、認證機制和擴展性方面均有獨特的表現
使用ThinkPHP,你可以更方便和快捷的開發和部署應用,當然不僅僅是企業級應用,任何PHP應用開發都可以從ThinkPHP的簡單、兼容和快速的特性中受益。簡潔、快速和實用是ThinkPHP發展秉承的宗旨,為此ThinkPHP會不斷吸收和融入更好的技術以保證其新鮮和活力,提供WEB應用開發的最佳實踐!
作為一個整體開發解決方案,ThinkPHP能夠解決應用開發中的大多數需要,因為其自身包含了底層架構、兼容處理、基類庫、資料庫訪問層、模板引擎、緩存機制、插件機制、角色認證、表單處理等常用的組件,並且對於跨版本、跨平台和跨資料庫移植都比較方便。並且每個組件都是精心設計和完善的,應用開發過程僅僅需要關注您的業務邏輯。
php的發展史
PHP原始為Personal Home Page的縮寫,已經正式更名為 “PHP: Hypertext Preprocessor”。注意不是「Hypertext Preprocessor」的縮寫,這種將名稱放到定義中的寫法被稱作遞歸縮寫。PHP於1994年由Rasmus Lerdorf創建,剛剛開始是Rasmus Lerdorf 為了要維護個人網頁而製作的一個簡單的用Perl語言編寫的程序。這些工具程序用來顯示 Rasmus Lerdorf 的個人履歷,以及統計網頁流量。後來又用C語言重新編寫,包括可以訪問資料庫。他將這些程序和一些表單直譯器整合起來,稱為 PHP/FI。PHP/FI 可以和資料庫連接,產生簡單的動態網頁程序。
在1995年以Personal Home Page Tools (PHP Tools) 開始對外發表第一個版本,Lerdorf寫了一些介紹此程序的文檔。並且發布了PHP1.0!在這的版本中,提供了訪客留言本、訪客計數器等簡單的功能。以後越來越多的網站使用了PHP,並且強烈要求增加一些特性。比如循環語句和數組變數等等;在新的成員加入開發行列之後,Rasmus Lerdorf 在1995年6月8日將 PHP/FI 公開發布,希望可以透過社群來加速程序開發與尋找錯誤。這個發布的版本命名為 PHP 2,已經有 PHP 的一些雛型,像是類似 Perl 的變數命名方式、表單處理功能、以及嵌入到 HTML 中執行的能力。程序語法上也類似 Perl,有較多的限制,不過更簡單、更有彈性。PHP/FI加入了對MySQL的支持,從此建立了PHP在動態網頁開發上的地位。到了1996年底,有15000個網站使用 PHP/FI。
ISAPI篩選器
在1997年,任職於 Technion IIT公司的兩個以色列程序設計師:Zeev Surask
i 和 Andi Gutmans,重寫了 PHP 的剖析器,成為 PHP 3 的基礎。而 PHP 也在這個時候改稱為PHP:Hypertext Preprocessor.[5]。經過幾個月測試,開發團隊在1997年11月發布了 PHP/FI 2。隨後就開始 PHP 3 的開放測試,最後在1998年6月正式發布 PHP 3。Zeev Suraski 和 Andi Gutmans 在 PHP 3 發布後開始改寫PHP 的核心,這個在1999年發布的剖析器稱為 Zend Engine[7],他們也在以色列的 Ramat Gan 成立了 Zend Technologies 來管理 PHP 的開發。
在2000年5月22日,以Zend Engine 1.0為基礎的PHP 4正式發布,2004年7月13日則發布了PHP 5,PHP 5則使用了第二代的Zend Engine[5]。PHP包含了許多新特色,像是強化的面向對象功能、引入PDO(PHP Data Objects,一個存取資料庫的延伸函數庫)、以及許多效能上的增強。PHP 4已經不會繼續
PHP
更新,以鼓勵用戶轉移到PHP 5。
2008年PHP 5成為了PHP唯一的有在開發的PHP版本。將來的PHP 5.3將會加入Late static binding和一些其他的功能強化。PHP 6 的開發也正在進行中,主要的改進有移除register_globals、magic quotes 和 Safe mode的功能。
PHP最新穩定版本:5.3.21(2013.1.17)
PHP最新發布版本:5.5.1(2013.7.18)修復了20個bug及其一些優化。
2013年6月20日,PHP開發團隊自豪地宣布立即推出PHP 5.5.0。此版本包含了大量的新功能和bug修復。需要開發者特別注意的一點是不再支持 Windows XP 和 2003 系統。
原創文章,作者:KKAF,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/137411.html