摘要:如上為三個模塊行為行為是在預先定義好的一個應用位置執行的一些操作。發生作用的位置稱之為鉤子,當應用程序運行到這個鉤子的時候,就會被攔截下來,統一執行相關的行為。給某一個鉤子綁定相關行為就成了一種類編程的思想。
ThinkPhp5.0
Composer: php世界里的包管理器目錄結構
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 命令行入口文件架構 模型-視圖-控制器
thinkphp5.0 is based on mvc
一個控制器包含多個操作(方法),操作方法是一個URL訪問的最小單元。
http: //serverName/index.php(或者其它應用入口文件)/模塊/控制器/操作/[參數名/參數值...]eg: localhost:8080/in`dex.php/index/method
模型類通常完成實際的業務邏輯和數據封裝,并返回和格式無關的數據。
ThinkPHP的模型層支持多層設計,可以將模型更加細分,例如把模型層分為邏輯層/服務層/事件層等等。
控制器調用模型類后返回的數據通過視圖組裝成不同格式的輸出
5.0的URL訪問受路由決定,如果關閉路由或者沒有匹配路由的情況下,則是基于
http: //serverName/index.php(或者其它應用入口文件)/模塊/控制器/操作/參數/值…
一個典型的應用是由多個模塊組成的,這些模塊通常都是應用目錄下面的一個子目錄,每個模塊都有自己獨立的配置文件、公共文件和類庫文件。如上index/test/test2為三個模塊
行為(Behavior)是在預先定義好的一個應用位置執行的一些操作。
發生作用的位置稱之為鉤子,當應用程序運行到這個鉤子的時候,就會被攔截下來,統一執行相關的行為。給某一個鉤子綁定相關行為就成了一種類 AOP編程的思想。
在應用程序中進行行為偵聽
// 在app_init位置偵聽行為 hinkHook::listen("app_init");
然后對某個位置進行行為綁定:
// 綁定行為到app_init位置 hinkHook::add("app_init","appindexehaviorTest");
入口文件
入口文件位置的設計是為了讓應用部署更安全,public目錄為web可訪問目錄,其他的文件都可以放到非WEB訪問目錄下面。
一般路徑在../public/index.php
Index.php
// 應用入口文件 // 定義項目路徑 define("APP_PATH", __DIR__ . "/../application/"); // 加載框架引導文件 require __DIR__ . "/../thinkphp/start.php";
引導文件
start.php文件就是系統默認的一個引導文件。在引導文件中,會依次執行下面操作:
加載系統常量定義;
加載環境變量定義文件;
注冊自動加載機制;
注冊錯誤和異常處理機制;
加載慣例配置文件;
執行應用;
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/31814.html
摘要:抽象數據庫訪問層作用對不同數據庫的操作進行封裝,最終達到用統一的操作方式操作不同數據庫連接器隱藏不同數據庫連接的差異,自動加載對應的數據庫驅動查詢構建起隱藏不同數據庫的差異,自動拼接路由層什么是路由每個框架都具有路由功能,所謂路由就是用戶請 抽象數據庫訪問層 作用:對不同數據庫的操作進行封裝,最終達到:用統一的操作方式操作不同數據庫 連接器:隱藏不同數據庫連接的差異,自動加載對應的數...
摘要:回調說白了,就是把函數當參數傳給另一根函數,在另一個函數執行時調用此函數例如,在下面這段代碼中,上面定義了兩個函數和,下面的方法請求成功執行,失敗執行異步異步的原理我看了網上的一些博客和例子,大都以定時任務為例子說明,但具體的原理我還是不太 回調 說白了,就是把函數當參數傳給另一根函數,在另一個函數執行時調用此函數例如,在下面這段代碼中,上面定義了兩個函數success和error,下...
摘要:回調說白了,就是把函數當參數傳給另一根函數,在另一個函數執行時調用此函數例如,在下面這段代碼中,上面定義了兩個函數和,下面的方法請求成功執行,失敗執行異步異步的原理我看了網上的一些博客和例子,大都以定時任務為例子說明,但具體的原理我還是不太 回調 說白了,就是把函數當參數傳給另一根函數,在另一個函數執行時調用此函數例如,在下面這段代碼中,上面定義了兩個函數success和error,下...
摘要:最近剛剛學習了一個的開發框架,最重要的是可以用開發傳送門以下是學習過程中的筆記上面時全局安裝完成后用檢查是否成功創建了一個名為的項目,然后進入目錄,安裝依賴,啟動項目,瀏覽器打開就可以看到頁面了。 最近剛剛學習了thinkjs--一個node的MVC開發框架,最重要的是可以用es6/es7開發【傳送門】 以下是學習過程中的筆記: npm install thinkjs@2 -g --v...
在tp上實現的auth2驗證的,在網上發現筆記很少, 不像yii, 故在此發表一下筆記,用來幫助有相關需求的朋友 PS: 鑒于oauth2有四種方案, 本實例是基于 客戶端憑證 實現,其他三種就不講述了 一、通過composer安裝 composer require --prefer-dist bshaffer/oauth2-server-php 安裝完成后,如圖:showImg(https://...
閱讀 3782·2021-09-23 11:32
閱讀 2451·2021-09-06 15:01
閱讀 1616·2021-08-18 10:24
閱讀 3449·2019-12-27 11:44
閱讀 3605·2019-08-30 15:52
閱讀 2512·2019-08-30 11:11
閱讀 671·2019-08-29 17:27
閱讀 600·2019-08-29 16:22