1.服務端 php
ThinkPHP5+MySQL構建REST APIcss
2.客戶端html
向服務端請求數據,完成自身行爲邏輯前端
3.CMSthinkphp
向服務端請求數據,實現發貨與發送微信消息數據庫
同時使用了:AOP面向切面編程思想的應用apache
使用ORM的方式與數據庫交互(Object Relational Mapping)編程
用面向對象的思想構建前端代碼(ES6 Class&Module)json
知識與技術ThinkPHP5小程序
1.Web框架三大核心知識(路由、控制器與模型)
2.驗證器、讀取器、緩存與全局異常處理
3.ORM:模型與關聯模型(模型就是對象)
知識與技術 (微信)
1.微信小程序
2.微信登陸
3.微信支付(預訂單、支付與回調通知處理)
4.微信模板消息
使用的開發工具:phpStudy PHPStorm 微信Web開發者工具 PostMan Navicat
ThinkPHP的目錄結構
project 應用部署目錄
├─application 應用目錄(可設置)
│ ├─common 公共模塊目錄(可更改)
│ ├─index 模塊目錄(可更改)
│ │ ├─config.php 模塊配置文件
│ │ ├─common.php 模塊函數文件
│ │ ├─controller 控制器目錄
│ │ ├─model 模型目錄
│ │ ├─view 視圖目錄
│ │ └─ ... 更多類庫目錄
│ ├─command.php 命令行工具配置文件
│ ├─common.php 應用公共(函數)文件
│ ├─config.php 應用(公共)配置文件
│ ├─database.php 數據庫配置文件
│ ├─tags.php 應用行爲擴展定義文件
│ └─route.php 路由配置文件
├─extend 擴展類庫目錄(可定義)
├─public WEB 部署目錄(對外訪問目錄)
│ ├─static 靜態資源存放目錄(css,js,image)
│ ├─index.php 應用入口文件
│ ├─router.php 快速測試文件
│ └─.htaccess 用於 apache 的重寫
├─runtime 應用的運行時目錄(可寫,可設置)
├─vendor 第三方類庫目錄(Composer)
├─thinkphp 框架系統目錄
│ ├─lang 語言包目錄
│ ├─library 框架核心類庫目錄
│ │ ├─think Think 類庫包目錄
│ │ └─traits 系統 Traits 目錄
│ ├─tpl 系統模板目錄
│ ├─.htaccess 用於 apache 的重寫
│ ├─.travis.yml CI 定義文件
│ ├─base.php 基礎定義文件
│ ├─composer.json composer 定義文件
│ ├─console.php 控制檯入口文件
│ ├─convention.php 慣例配置文件
│ ├─helper.php 助手函數文件(可選)
│ ├─LICENSE.txt 受權說明文件
│ ├─phpunit.xml 單元測試配置文件
│ ├─README.md README 文件 │ └─start.php 框架引導文件 ├─build.php 自動生成定義文件(參考) ├─composer.json composer 定義文件 ├─LICENSE.txt 受權說明文件 ├─README.md README 文件 ├─think 命令行入口文件
1、配置前說明:
一、phpStudy集成了XDebug擴展,因此不用單獨下載XDebug。
二、打開XDebug擴展:其它選項菜單 > PHP擴展 > Xdebug
2、配置步驟:
phpStudy當前版本:php5.5
修改php.ini文件:主要是phpstudy的這個配置
; 註釋掉原配置
;[XDebug]
;xdebug.profiler_output_dir="D:\myworkVIP\phpstudy\tmp\xdebug"
;xdebug.trace_output_dir="D:\myworkVIP\phpstudy\tmp\xdebug"
;zend_extension="D:\myworkVIP\phpstudy\php\php-5.5.38\ext\php_xdebug.dll"
;zend_extension="D:\myworkVIP\phpstudybak\php\php-5.5.38\ext\php_xdebug.dll"
; 自定義XDebug
[XDebug]
zend_extension="D:\myworkVIP\phpstudy\php\php-5.5.38\ext\php_xdebug.dll"
;是否容許Xdebug跟蹤函數調用,跟蹤信息以文件形式存儲,默認值爲0
xdebug.auto_trace=1
;是否容許Xdebug跟蹤函數參數,默認值爲0
xdebug.collect_params=1
;是否容許Xdebug跟蹤函數返回值,默認值爲0
xdebug.collect_return=1
;函數調用跟蹤信息輸出文件目錄,默認值爲/tmp
xdebug.trace_output_dir ="D:\myworkVIP\phpstudy\tmp\xdebug"
;性能分析文件的存放位置,默認值爲/tmp
xdebug.profiler_output_dir ="D:\myworkVIP\phpstudy\tmp\xdebug"
;打開xdebug的性能分析器,以文件形式存儲,這項配置是不能以ini_set()函數配置的,默認值爲0
xdebug.profiler_enable = 1
;性能分析文件的命名規則,默認值爲cachegrind.out.%p
xdebug.profiler_output_name = "cachegrind.out.%t.%p"
xdebug.remote_enable = 1
;用於zend studio遠程調試的應用層通訊協議
xdebug.remote_handler = "dbgp"
xdebug.idekey = PHPSTORM
xdebug.remote_host = "127.0.0.1"
xdebug.remote_port = 9000
兼容性隱藏index.php
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [L,QSA,E=PATH_INFO:$1]
RewriteCond %{SCRIPT_FILENAME} \.php [NC]
RewriteCond % !^$
RewriteRule ^/?application/.*\.php - [F]
RewriteRule ^/?backup/.*\.php - [F]
#RewriteRule ^/?install/.*\.php - [F]
RewriteRule ^/?miniapp/.*\.php - [F]
RewriteRule ^/?runtime/.*\.php - [F]
RewriteRule ^/?template/.*\.php - [F]
RewriteRule ^/?vendor/.*\.php - [F]
</IfModule>
Thinkphp5的路由模式
Route::rule('路由表達式','路由地址','請求類型','路由參數(數組)','變量規則(數組)');
use think\Route;
Route::rule('hello','sample/test/hello');
Route::rule('hello','sample/test/hello','GET|POST',['https'=>true]);
Route::get('hello','sample/test/hello');
Route::any('hello','sample/test/hello');
Route::post('hello','sample/test/hello');
Route::delete('hello','sample/test/hello');
Route::put('hello','sample/test/hello');
Route::get('hello/:id','sample/test/hello');
ThinkPHP5的驗證層
獨立驗證
//須要驗證的數據$data=['name'=>'vendor', 'email'=>'vendor.com'];//驗證規則$validate=new Validate(['name'=>'require|max:3', 'email'=>'email']);//進行驗證:check 批量驗證:batch$result=$validate->batch()->check($data);var_dump($validate->getError());