閱讀時長:10分鐘php
技術預備:PHP基礎語法程序員
從這章開始,童鞋們就進入到了PHP的Web框架學習階段。thinkphp
PHP有很是多的框架,其中比較常見的有:Laravel、ThinkPHP、Yaf、Phalcon、Yii、Swoole。npm
除了Swoole之外,其餘框架其實都屬於MVC框架,在使用上都大同小異,只要學會其中一兩個,再學其餘框架是很容易的事情。設計模式
而其中最火的莫過於Laravel和ThinkPHP了。Laravel常年佔據國外排行榜第一,而ThinkPHP因其簡易性,在國內使用量也是首屈一指的。瀏覽器
其實在框架的選擇上趙童鞋也糾結了好久,最終選擇了用ThinkPHP來進行學習。app
若是童鞋們有在百度上查過就知道,ThinkPHP5「借鑑」了很多Laravel的思想。composer
那麼爲何不直接學習Laravel呢?框架
其實緣由也很簡單:maven
雖然TP5有許多Laravel的痕跡,可是卻延續了TP的一大特色:簡單。把複雜的東西簡單化更易於初學者上手。
TP5是國人所寫,因此學習資料衆多並且都是中文版。對於新手來講,最痛苦的莫過於找不到問題答案。
TP5性能比Laravel要好。Laravel的性能問題一直是他的詬病,雖然推出了縮減版的Lumen但性能依舊不太好。
綜上所述,趙童鞋就選擇了ThinkPHP來進行講解,Laravel更適合於進階或學習其中的設計模式。(趙童鞋當初剛學PHP也是學習的ThinkPHP框架呢)
至於Swoole,則是爲了解決PHP寫Web接口的一大難題:每次請求都須要從新加載,致使性能和其餘語言相比很是差。這個框架不建議新手直接學習,很容易就「從入門到刪庫」,下面進入正題。
TP框架下載的方式有不少,能夠在官網 www.thinkphp.cn 進行下載,也能夠用composer進行下載。
本章童鞋們就採用composer來進行下載,更符合PHP程序員的規範。
所謂的composer就是PHP的一個包管理工具,在Java中有maven,在Python中有pip,在Javascript中有npm。
下載地址:getcomposer.org/Composer-Se…
下載完畢後,安裝一路下一步就完事了,接着童鞋們在CMD中驗證是否安裝成功。
能夠看到,趙童鞋的電腦裏composer爲1.8.0的版本。
安裝完composer後,童鞋們就能夠利用composer來直接建立TP5項目。
童鞋們進入到以前編寫Demo的htdocs目錄。
在這裏輸入
composer create-project topthink/think=5.0.* tp5_demo --prefer-dist
composer就會自動的去幫童鞋們下載TP5框架的源碼,而且建立出一個初始化的項目。(須要注意的是,咱們本次學習用的是TP5.0的版本。最新的5.1由於引入容器和Facade支持,在使用上更加靈活了,可是學習起來也會增長了難度,5.0更適合初學者入門,有興趣的童鞋能夠自行查閱5.1的手冊)
當看到以下提示就證實安裝成功啦。
可是不能我說成功就成功的嘛,童鞋們怎麼驗證是否真的成功了呢?
其實很簡單,啓動童鞋們的XAMPP中的Apache模塊,在瀏覽器輸入
http://localhost/tp5_demo/public/
若是看到如下畫面,那就必須是成功了。
接下來咱們用PHPStorm打開tp5_demo項目。
能夠看到許多文件夾,其中包括了application
和thinkphp
。
thinkphp
文件夾就是TP框架的源代碼,關於TP的全部代碼細節均可以在這裏查找。
在application
文件夾下有index
模塊,index
模塊中包含了Controller
控制器文件夾,其中有一個Index.php
文件,Index.php
文件中包含了一個方法index()
。
剛纔的路由器請求就是被Apache分發到了這個方法的代碼裏。
咱們來修改一下這個方法裏的代碼,驗證一下是否是真的如此,就讓咱們輸出一個最著名的Helloworld
吧。
刷新一下瀏覽器頁面。
能夠看到,Helloworld
成功出來了~
TP5項目的初始化到這裏就結束了。本節咱們安裝了composer,初始化了項目框架。
童鞋們千萬別覺得composer只能初始化一下項目哦,他能夠引入大部分的PHP擴展包,爲咱們廣大PHP程序員省略了大量ctrl c+v工做。๑乛◡乛๑
看到這裏估計童鞋們都會有疑問了,爲何瀏覽器輸入一個URL會進入到index()方法中呢?下一節咱們就來揭祕框架究竟幹了什麼。
----- End -----
更多好文
請掃描下面二維碼
歡迎關注~