ThinkPHP5 對路由、日誌、異常、數據庫、模版引擎、驗證等作了一些修改。php
1.開發環境mysql
PHP 5.4 上 PDO、Mbstring 、CURL、PHP Extension 擴展nginx
mysql >5.5git
apache nginx (內置服務)github
2.安裝 git https://github.com/top-think 之因此設計爲應用和核心倉庫分離,是爲了支持Composer單獨更新核心框架。web
(1) 克隆 git clone --depth=1 git@github.com:top-think/think.git think-git //最新版本 https://github.com/top-think/think.git //web/sql
git clone --depth=1 git@github.com:top-think/framework.git thinkphp //https://github.com/top-think/framework.git //web/framework/(核心包)thinkphp
(2) composer --version 版本數據庫
composer create-project --prefer-dist topthink/think think_composerapache
(3) 官網下載 完整版
(4) git 下載
3.調整 根目錄 document_root = /public
4.目錄結構和規範
tp5 ├─application 應用目錄
├─extend 擴展類庫目錄(可定義)
├─public 網站對外訪問目錄
├─runtime 運行時目錄(可定義)
├─vendor 第三方類庫目錄(Composer)
├─thinkphp 框架核心目錄
├─build.php 自動生成定義文件(參考)
├─composer.json Composer定義文件
├─LICENSE.txt 受權說明文件
├─README.md README 文件
├─think 命令行工具入口
目錄名 小寫+下劃線
類庫函數名 文件名 以 .php結尾
類的文件名均以命名空間定義,且命名空間和類庫文件所在路徑一致。
類文件採用駝峯 首字母大寫 其餘用小寫+下劃線命名
app 同級 建立文件夾conf
conf/config.php 修改慣例配置 、應用配置、
conf/extra/email.php 擴展配置 級別最大 dump(config());
場景配置 根據辦公地點不一樣 或其餘 能夠更改配置文件 只需根據須要修改conf/config.php 中 app_status值 就能夠修改相對應的配置
conf/config.php
<?php
return[
'app_status' => 'office'//home
];
?>
conf/office.php
<?php
return [
'app_address' => 'office',
'database' => [
// 數據庫類型
'type' => 'mysql',
// 服務器地址
'hostname' => '127.0.0.1',
// 數據庫名
'database' => 'thinkphp',
// 用戶名
'username' => 'root',
];
?>
conf/home.php
<?php
return [
'app_address' => 'home',
'database' => [
// 數據庫類型
'type' => 'mysql',
// 服務器地址
'hostname' => '127.0.0.1',
// 數據庫名
'database' => 'thinkphp',
// 用戶名
'username' => 'root',
];
?>
模塊配置
conf/index/config.php
conf/admin/config.php
動態配置
config('indexAction','index');//只在當前配置的位置有效
//慣例配置 thinkphp/convention.php
Config類和config 方法
thinkphp\library\think\config.php
設定配置參數的做用域
解析配置文件或內容 parse
加載配置文件(PHP格式) load
檢測配置是否存在 has
獲取配置參數 爲空則獲取全部配置 get
設置配置參數 name爲數組則爲批量設置 set
重置配置參數 reset
think\config;
config::set('key','value','做用域');
config::get('key','做用域');
config('key');
環境變量的配置和使用
.env(文件名) -- app 同級
think\Env;
$_ENV; //前綴PHP_
Env::get('key','默認值');