ThinkPHP5 ---基礎(chǔ)篇(安裝)

ThinkPHP5 ---基礎(chǔ)篇(安裝)

一、ThinkPHP簡介

i. ThinkPHP是一個免費(fèi)開源 快速簡單 面向?qū)ο?輕量級的PHP開發(fā)框架

ii. 創(chuàng)立于2006年初 遵循Apache2開源協(xié)議發(fā)布

iii. 秉承簡潔實(shí)用的設(shè)計(jì)原則 注重易用性

iv. 支持composer(包管理工具)方式安裝 類似于node.js里面的npm

v. 5版本與之前版本不兼容

二、MVC簡介

i. Model(模型) View(視圖) Controller(控制器)的縮寫 是一種業(yè)務(wù)邏輯 數(shù)據(jù) 顯示頁面分離的設(shè)計(jì)典范(設(shè)計(jì)模式:單例|工廠|觀察者...) 業(yè)務(wù)邏輯封裝之后 在改進(jìn)或者個性化定制界面用戶交互的同時 對編寫好的業(yè)務(wù)邏輯不影響

ii. 優(yōu)勢

  1. 耦合性低 任何一層的改變 對其他層影響不大

  2. 重用性高

  3. 可維護(hù)性高

image.png
image.png

iii. MVC的變形

  1. 無Model模式

a) 企業(yè)官網(wǎng) 靜態(tài)數(shù)據(jù)展示 基本上不涉及數(shù)據(jù)庫操作 展示靜態(tài)頁面 Controller主要是路由跳轉(zhuǎn) View主要展示頁面

  1. 無View的API接口開發(fā)

a) 給app寫接口的時候 不需要展示界面 所有數(shù)據(jù)都通過json|xml返回

三、ThinkPHP5的安裝

i. Git方式安裝

  1. https://github.com/top-think
  1. 需要clone兩個包
image.png

a) 進(jìn)入think 選擇open in Desktop(選擇clone或者open in Desktop 本地都需要安裝git環(huán)境 最簡單的下載git桌面版 詳情參考版本工具GIT篇) 如果是用命令行 可以加上git clone --depth=1 ... 只克隆最新一次commit

image.png

b) 選擇本地項(xiàng)目目錄

image.png
image.png

c) 然后clone framework 核心包

image.png

d) 在上一步的目錄下新建thinkphp目錄 clone

image.png
image.png

瀏覽器訪問 進(jìn)入到public目錄 出現(xiàn)下面界面說明安裝成功

image.png

同理 選擇DownloadZip 然后解壓縮 也可以 分別下載兩個包 然后將framework包重命名thinkphp 移動到think目錄下即可

ii. Composer方式安裝

  1. 本地先安裝composer環(huán)境

a) 進(jìn)入官網(wǎng) <u>https://www.phpcomposer.com/</u> ->下載

image.png
image.png

b) 雙擊 安裝 (過程中需要綁定php.exe)


image.png

c) windows+R cmd 打開命令行 composer驗(yàn)證是否安裝成功


image.png

d) 通過composer安裝ThinkPHP

i. 命令行進(jìn)入項(xiàng)目目錄

image.png

ii. Composer create-project --prefer-dist topthink/think think_composer進(jìn)入到項(xiàng)目目錄 命令行安裝

composer create-project --prefer-dist topthink/think=5.0.20 think_composer 可以指定下載版本


image.png
image.png
image.png
image.png

安裝過程中 需要聯(lián)網(wǎng)...... 網(wǎng)速不穩(wěn)定的話 可能會導(dǎo)致安裝不成功

也可以在composer官網(wǎng) 安裝包列表 選擇下載tp版本 上面的命令也可以指定版本

iii. localhost測試

image.png
image.png

iii. Download官網(wǎng)安裝

  1. 進(jìn)入http://www.thinkphp.cn/ 官網(wǎng)
    image.png
  1. 需要先登錄 然后選擇版本下載

四、設(shè)置網(wǎng)站根目錄為 public目錄 (選)

i. Apache配置文件 httpd-vhosts.conf

ii. 此文件下可以配置虛擬主機(jī) 如a.com 便于本地測試

  1. 需要在httpd.conf文件中打開擴(kuò)展

  2. 需要在System32/drivers/etc/hosts文件中配置 127.0.0.1 a.com 配置

  3. 重啟服務(wù)器生效

image.png

五、ThinkPHP5的目錄結(jié)構(gòu)

i. Application 應(yīng)用目錄

image.png

ii. Extend 擴(kuò)展類庫目錄

  1. 下載第三方庫的時候使用的 不是通過composer下載的

a) 如 有一個好用的第三方庫 但是沒有composer包 這種情況下可以將類庫下載到extend目錄 之后修改命名空間 就直接可以在應(yīng)用中使用了

iii. Public根目錄


image.png

iv. Runtime 網(wǎng)站運(yùn)行中的緩存文件 日志緩存 編譯文件等等

v. Thinkphp框架系統(tǒng)目錄

image.png

vi. Vendor 通過composer安裝 過程中生成的目錄

  1. 里面有thinkphp主程序文件 各種類庫文件

六、 目錄和文件開發(fā)規(guī)范

i. 目錄使用小寫+下劃線的方式命名(不允許大寫)

ii. 類庫函數(shù)文件名 均以.php結(jié)尾 (5版本以前是.class.php 5版本之后.php)

iii. 類的文件名均以命名空間定義 且命名空間和類庫文件所在路徑一致

  1. 如 application/index/controller/Index.php

namespace app\index\controller (app定義頂級應(yīng)用模塊目錄)

iv. 類文件采用駝峰 首字母大寫 其余文件為小寫+下劃線命名

  1. 如 控制器 Index.php

  2. 路由文件 route.php 數(shù)據(jù)庫配置文件 database.php

v. 類名和類文件名保持一致 駝峰命名 首字母大寫 不需要后綴

  1. 如 Index.php (5版本前是 IndexController.php 5版本之后是 Index.php)

vi. 函數(shù)駝峰命名 首字母小寫

  1. 如 public function getUserName(){}

vii. 屬性名駝峰 首字母小寫

  1. 如 public $tableName = ‘’ ;

viii. 以雙下劃線(__)開頭的函數(shù)或者方法為魔術(shù)方法

  1. 如 public function __construct(){}

  2. 自定義函數(shù)的時候 函數(shù)名注意避免

ix. 常量和配置

  1. 常量以大寫字母和下劃線命名

a) 如define(‘APP_PATH’, DIR . ’/../application/’) ;盡量不要下劃線開頭

  1. 配置參數(shù)以小寫字母和下劃線命名

a) 如 config.php

image.png

x. 其他規(guī)范

  1. 表和字段采用小寫+下劃線的命名方式 不能下劃線開頭

a) 如 tb_user 表

  1. 應(yīng)用類庫的命名空間統(tǒng)一為app(可以配置)

a) 一般情況下不要更改 app為默認(rèn)頂級應(yīng)用

七、ThinkPHP5模塊設(shè)計(jì)

i. 概要:

5.0版本對模塊的功能做了靈活設(shè)計(jì) 默認(rèn)采用多模塊的架構(gòu) 并且支持單一模塊設(shè)計(jì) 所有模塊的命名空間均以app作為根命名空間(可配置)

根據(jù)項(xiàng)目需求

image.png

FAQ:

一、啟動本地環(huán)境 查看端口占用

1.找到被占端口pid

netstat -aon|findstr "3306"

image.png

2.根據(jù)pid 查看進(jìn)程

tasklist|findstr "1880"

image.png

3.結(jié)束進(jìn)程

taskkill /f /t /im mysqld.exe

image.png

二、自定義common模塊報錯:

image.png

報錯信息:

image.png

分析:

這是thinkphp的規(guī)定 默認(rèn)common是公用模塊 存放 通用方法 不允許在URL上直接訪問

解決:

image.png
image.png

將重復(fù)性的代碼 權(quán)限 數(shù)據(jù)處理放在common模塊 簡化程序

三、修改application目錄

i. 將application目錄重命名 app

ii. 修改public/index.php define(‘APP_PATH’, DIR . ‘/../app/’);

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、獲取ThinkPHP 獲取ThinkPHP的方式很多,官方網(wǎng)站是最好的下載和文檔獲取來源。建議使用compos...
    小小奶狗閱讀 1,550評論 0 2
  • Awesome PHP 一個PHP資源列表,內(nèi)容包括:庫、框架、模板、安全、代碼分析、日志、第三方庫、配置工具、W...
    guanguans閱讀 6,184評論 0 47
  • Composer Repositories Composer源 Firegento - Magento模塊Comp...
    零一間閱讀 4,021評論 1 66
  • 前言 終于有那么點(diǎn)時間能將Laravel 5的一些好的實(shí)踐總結(jié)出來,希望為普及Laravel和新的PHP編程思想出...
    該葉無法找到閱讀 6,359評論 0 47
  • “抓大放小”就是:例外的決策,備案;例外的決策,報批。 首先,要設(shè)計(jì)好流程、規(guī)則與預(yù)算,這是抓大放小的基礎(chǔ),如果沒...
    w小郭閱讀 461評論 0 0

友情鏈接更多精彩內(nèi)容