[TOC]
## PHP框架
給 PHP 網站開發者使用的應用程序開發框架和工具包。 它的目標是讓你能夠更快速的開發,它提供了日常任務中所需的大量類庫, 以及簡單的接口和邏輯結構。通過減少代碼量,讓你更加專注 于你的創造性工作。
## CI應用流程圖:

1. index.php 文件作為前端控制器,初始化運行 CodeIgniter 所需的基本資源;
2. Router 檢查 HTTP 請求,以確定如何處理該請求;
3. 如果存在緩存文件,將直接輸出到瀏覽器,不用走下面正常的系統流程;
4. 在加載應用程序控制器之前,對 HTTP 請求以及任何用戶提交的數據進行安全檢查;
5. 控制器加載模型、核心類庫、輔助函數以及其他所有處理請求所需的資源;
6. 最后一步,渲染視圖并發送至瀏覽器,如果開啟了緩存,視圖被會先緩存起來用于 后續的請求。
## yii應用流程圖

1. 用戶向入口腳本 web/index.php 發起請求。
2. 入口腳本加載應用配置并創建一個應用實例去處理請求。
3. 應用通過請求組件解析請求的路由。
4. 應用創建一個控制器實例去處理請求。
5. 控制器創建一個操作實例并針對操作執行過濾器。
6. 如果任何一個過濾器返回失敗,則操作退出。
7. 如果所有過濾器都通過,操作將被執行。
8. 操作會加載一個數據模型,或許是來自數據庫。
9. 操作會渲染一個視圖,把數據模型提供給它。
10. 渲染結果返回給響應組件。
11. 響應組件發送渲染結果給用戶瀏覽器。
## 單一入口(index.php)
單一入口的應用程序就是說用一個文件處理所有的HTTP請求,不管訪問應用的哪個功能,都是從瀏覽器訪問index.php文件,這個文件就是這個應用程序的單一入口。一個應用都有一個統一(但不一定是唯一)的入口。應該說,所有應用都是從入口文件開始的,并且不同應用的入口文件是類似的。
打個比方,大家都要上WC,都是男生進一個門,女生進一個門,這兩個門就是WC的兩個入口。而現在去一個公園里面的WC,外面還有一個門,不管男女都從最外面的門進入,交了錢以后才進入里面的男廁所門或女廁所門,而這個最外面的門就是這個WC的單一入口。
## 應用
應用是一個管理系統架構及生命周期的對象。可以簡單的點理解為項目。
## 模塊
一個典型的應用是由多個模塊組成的,這些模塊通常都是應用目錄下面的一個子目錄,每個模塊都有自己獨立的配置文件、公共文件和類庫文件。
## 模型-視圖-控制器(MVC)
MVC 是一種 用于將應用程序的邏輯層和表現層分離出來的軟件方法。在實踐中,由于這種分離 所以你的頁面中只包含很少的 PHP 腳本。
### 模型
代表你的數據結構。通常來說,模型類將包含幫助你對數據庫進行增刪改查的方法。
### 視圖
是要展現給用戶的信息。一個視圖通常就是一個網頁,一個視圖也可以是一部分頁面(例如頁頭、頁尾),它也可以是一個 RSS 頁面, 或其他任何類型的頁面。
### 控制器
是模型、視圖以及其他任何處理 HTTP 請求所必須的資源之間的中介,并生成網頁。
## 操作
一個控制器包含多個操作(方法),操作方法是一個URL訪問的最小單元。
## URL設計
### 普通模式
~~~
http://localhost/index.php?m=home&c=user&a=login&var=value
~~~
### PATHINFO模式
~~~
http://localhost/index.php/home/user/login/var/value/
~~~
- 序言
- 第一章:準備工作
- 寫在學習之前的話
- web應用開發結構
- 開發工具/環境
- 第二章:展現層面(HTML/CSS)
- HTML簡介
- HTML基礎
- HTML編碼
- HTML鏈接
- HTML圖像
- HTML列表
- HTML表單
- HTML表格(分水嶺)
- HTML 實體
- HTML框架
- CSS層疊樣式表
- CSS選擇器
- CSS文本/字體
- CSS繼承和疊加
- CSS框模型
- CSS浮動(分水嶺)
- CSS定位
- CSS背景
- CSS圖標字體
- CSS補充
- 開發技巧
- 第三章:展現層面(Javascript)
- JS簡介
- JS實現
- JS輸出交互
- JS變量
- JS數據類型
- JS運算符
- JS流程控制(分水嶺)
- JS函數
- JS數組
- JS對象(分水嶺)
- JS數組對象
- JS字符串對象
- JS數學對象
- JS日期對象
- JS BOM對象(分水嶺)
- JS DOM對象
- JS事件對象
- JS元素對象
- JS DOM節點
- 第四章:展現層面(Jquery)
- JQ簡介
- JQ使用
- JQ選擇器
- JQ篩選
- JQ屬性
- JQ-CSS
- JQ事件
- JQ文檔處理
- JQ效果
- JQ-ajax
- 第五章:邏輯/業務層面(PHP)
- PHP簡介
- PHP變量
- PHP數據類型
- PHP常量
- PHP運算符
- PHP流程控制
- PHP函數(分水嶺)
- PHP日期
- PHP數學
- PHP數組
- PHP字符串
- PHP正則表達式(分水嶺)
- PHP目錄操作
- PHP文件
- PHP上傳/下載
- PHP面向對象(分水嶺)
- PHP圖像處理
- PHP會話控制
- Ajax異步處理
- PHPMysql擴展
- PHPMysqli擴展
- PHPPdo擴展
- PHP接口
- PHP命名空間
- 第六章:邏輯/業務層面(框架設計)
- 第七章:存儲層面(mysql)
- Mysql基礎
- Mysql Sql簡介
- Mysql數據庫
- Mysql數據類型
- Mysql數據表
- Mysql操作記錄
- Mysql查詢
- Mysql修改表結構
- Mysql日期與時間
- Mysql分組統計
- Mysql多表查詢
- Mysql安全
- Mysql存儲引擎
- Mysql事務
- Mysql視圖
- Mysql觸發器
- Mysql存儲過程
- Mysql存儲函數
- Mysql優化
- 第八章:服務器(Linux)
- Linux介紹與安裝
- Shell
- 目錄與文件操作
- VIM編輯器使用
- 帳號管理
- SUDO
- 權限控制
- 壓縮與打包
- 軟件安裝
- 計劃任務
- 進程管理
- 寶塔Linux面板