- 聽說thinkphp5要正式發布了,對於這個蠻不錯的實用開發工具,我覺着還是有必要繼續跟進學習使用使用的,翻了翻資料找到了這個還未完善的文檔,不過,夠了,先來個簡單開始吧,本文用的是dev-master分支。
- 更多關注github:https://github.com/liu21st/think
- 文檔地址:http://www.kancloud.cn/thinkphp/thinkphp5-guide/30549
- demo源碼地址:https://github.com/dingyiming/learn-PHP-tp5
1.使用composer下載thinkphp5
先前在用laravel的時候就是用composer下載框架源碼,真是很不錯的,記得以前我用thinkphp3.2.3的時候是去官網下載的,體驗果然還是命令行操作來的舒服
-
如果沒安裝過composer,快去補個基礎吧(mac上推薦個良梯叫 “魚擺擺”),提供一些composer的資料:
-
新建一個示例項目tp5demo1
cd demos
composer create-project topthink/think tp5 dev-master --prefer-dist
2.從命令行打開sublime text2
- mac終端中使用如下代碼
alias subl=\''/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl'\'
- 接着,就可以直接從終端使用sublime text2打開thinkphp5項目目錄了
subl tp5demo1
OK!打開了。
3.看一下thinkphp5目錄結構(copy在項目中README.md)
thinkphp最親近國人的地方就是文檔注釋都中文,目錄又清晰,也便很實用。
www WEB部署目錄(或者子目錄)
├─composer.json composer定義文件
├─README.md README文件
├─LICENSE.txt 授權說明文件
├─application 應用目錄
│ ├─common 公共模塊目錄(可以更改)
│ ├─runtime 應用的運行時目錄(可寫,可定制)
│ ├─module 模塊目錄
│ │ ├─config.php 模塊配置文件
│ │ ├─common.php 模塊函數文件
│ │ ├─controller 控制器目錄
│ │ ├─model 模型目錄
│ │ ├─view 視圖目錄
│ │ ├─ ... 更多類庫目錄
│ ├─common.php 公共函數文件
│ ├─route.php 路由配置文件
│ ├─database.php 數據庫配置文件
│ └─config.php 公共配置文件
├─public WEB目錄(對外訪問目錄)
│ ├─index.php 入口文件
│ ├─.htaccess 用於apache的重寫
│ └─router.php 快速測試文件
├─thinkphp 框架系統目錄
│ ├─library 框架類庫目錄
│ │ ├─behavior 行為類庫目錄
│ │ ├─com Com類庫包目錄
│ │ ├─think Think類庫包目錄
│ │ ├─org Org類庫包目錄
│ │ ├─ ... 更多類庫目錄
│ ├─traits 系統Traits目錄
│ ├─vendor 第三方類庫目錄
│ ├─mode 應用模式目錄
│ ├─tpl 系統模板目錄
│ ├─base.php 基礎文件
│ ├─convention.php 框架慣例配置文件
│ └─start.php 框架入口文件
4.用內置服務器啟動thinkphp5
-
router.php用於php自帶webserver支持,可用於快速測試
-
啟動命令:
php -S localhost:8888 -t . router.php
可以看到應用服務跑起來了,去瀏覽器用localhost:8888/tp5demo1/public
測試
-
但。。。我沒能訪問成功,本以為是自己的php7有問題,然后使用
php-version
切換了php版本還是無用,具體也不知道為啥,晚點再求教吧 -
添加個Mac中homebrew安裝和管理php版本的方法,查看文章
brew list
brew unlink php56
brew link php55
brew install php-version //安裝php-version
source $(brew --prefix php-version)/php-version.sh && php-version 5
php-version
php-version 5.6.16 //php-version切換php版本
php -v //查看php版本
- So,轉用Mamp,將thinkphp5訪問
localhost/tp5demo1/public
開始成功了,晚點還是繼續使用vagrant
作為開發環境了。
5.URL含義參照
http://serverName/應用(或應用入口文件)/模塊/控制器/操作/[參數名/參數值...]
6.記錄下Thinkphp5命名規范
這對於用工具來說還是蠻重要的,一來能屢清自己的思路,二來使代碼更具可讀性
目錄和文件
目錄和文件名
采用小寫+下划線
,並且以小寫字母開頭;- 類庫、函數文件統一
以.php為后綴
(不再是xx.class.php); - 類的文件名均
以命名空間定義
,並且命名空間的路徑和類庫文件所在路徑一致;
函數和類、屬性命名
類的命名采用駝峰法,並且首字母大寫
,例如 User、UserType,不需要添加controller、model等后綴,UserController直接更改為User
;函數的命名使用小寫字母和下划線(小寫字母開頭)
的方式,例如 get_client_ip;方法的命名使用駝峰法
,並且首字母小寫或者使用下划線“_”,例如 getUserName,_parseType,通常下划線開頭的方法屬於私有方法
;屬性的命名使用駝峰法
,並且首字母小寫或者使用下划線“_”,例如 tableName、_instance,通常下划線開頭的屬性屬於私有屬性
;- 以
雙下划線“__”打頭的函數或方法作為魔法方法
,例如 __call 和 __autoload;
常量和配置
常量以大寫字母和下划線命名
,例如 APP_DEBUG和 APP_MODE;配置參數以小寫字母和下划線命名
,例如 url_route_on;
數據表和字段
數據表和字段采用小寫加下划線方式命名
,並注意字段名不要以下划線開頭,例如 think_user 表和 user_name字段,類似 _username 這樣的數據表字段可能會被過濾
。
實例化規范
- 在ThinkPHP5.0中實例化一個類,可以
采用:\Think\Route 或者\think\Route都是有效的
,並且都是加載think\route.php文件,如果實例化一個\Org\UploadFile類的話會自動加載org\upload_file.php文件。
更多內容再繼續學習和使用來體驗吧!