下載下傳解壓 ThinkPHP 3.2.3,在預設的應用 Application(./Application) 中,包含一個預設的子產品 Home(./Application/Home)。
需要在該預設應用中建立一個用于背景管理的 Admin 子產品,可以通過在應用入口檔案(./index.php)中綁定 Admin 子產品來 自動生成 Admin 子產品:
此時通路 http://serverName/index.php 便會自動在 ./Application 下建立 Admin 目錄(要記得把上面的定義 删掉,否則通過入口檔案通路網站首頁就會預設通路 Admin 子產品)。
不需要修改入口檔案。
此時通路 http://serverName/index.php/Admin 就可以通路背景的 Index 控制器的 index 方法了。
目錄結構如下:
ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 應用配置(公共配置檔案)位于 ./Application/Common/Conf/config.php ,在 ThinkPHP 調用所有的子產品之前加載。
在這裡沒有做特别的配置,隻開啟了 Trace 追蹤資訊:
ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 Admin 子產品的子產品配置位于 ./Application/Admin/Common/Conf/config.php
該項目開啟的配置包括:
① 資料庫
ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ② 配置背景公共檔案
由于該項目同時包含 Home、Admin 子產品,是以公共檔案必須分開,是以可以把 Admin 子產品的公共檔案放在 ./Application/Public/Admin 下,在 Admin 的子產品配置檔案中配置:
③ 定義異常頁面
異常頁面 error.html 中錯誤資訊可以用 $e['message'] 表示
如果需要有倒計時跳轉的功能,可以參考 ./ThinkPHP/Tpl/dispatch_jump.tpl 檔案
error.html:
ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 例如通路了不存在的方法,頁面會輸出:
然後跳轉回背景首頁。
注:該頁面中不能使用 ThinkPHP 的标簽,隻能使用原生的 PHP 語句。
用于登陸的檔案是 Admin 子產品下的 LoginController.class.php
ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 幾點說明:
① IS_POST
位于 ./ThinkPHP/Library/Think/App.class.php(ThinkPHP 應用程式類 執行應用程式管理) 的 static public function init() 方法(應用程式初始化)内
定義目前請求的系統常量,源碼:
② e 方法
位于 ThinkPHP/Common/functions.php (Think 系統函數庫)
ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ③ 模闆路徑
預設情況下,Admin 子產品 Login 控制器的 index 方法對應的模闆檔案應該是 ./Application/Admin/View/Login/index.html
如果不希望目錄層級太多的話,可以将該方法對應的模闆檔案設定為 ./Application/Admin/View/Login_index.html,減少了一層目錄,在 Admin 子產品的子產品配置 config.php 中添加:
登陸以後進入背景首頁 http://serverName/Admin/Index/index
Admin 子產品的 Index 控制器 ./Application/Admin/Controller/IndexController.class.php:
ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 注:要進入背景首頁,必須經過登陸,是以在加載該控制器之前應該先檢查使用者是否登陸,檢查的方法可以寫在 Admin 子產品的 Common 控制器中,然後 Index 控制器繼承 Common 控制。Common 控制器位于 ./Application/Admin/Controller/CommonController.class.php:
ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 注:在 ./ThinkPHP/Library/Think/Controller.class.php (ThinkPHP 控制器基類)定義了
ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 登陸子產品的視圖檔案位于 ./Application/Admin/View/Login_index.html:
ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 注:
① U 方法
在控制器使用 U 方法的格式是 U(子產品/控制器/方法, array('參數1'=>'參數1的值','參數2'=>'參數2的值', '僞靜态字尾'))
在模闆中使用 U 方法的格式是 {:U(子產品/控制器/方法, array('參數1'=>'參數1的值','參數2'=>'參數2的值', '僞靜态字尾'))}
② 僞靜态字尾
可以在子產品配置檔案 config.php 中配置僞靜态字尾,預設為 .html,即 URL 可能是 http://serverName/Admin/Index/index.html。可以設定為空,即 URL 可能為 http://serverName/Admin/Index/index
Admin 子產品的檔案目錄:
ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 crm_user 表:
ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ① 把 Session 存儲在 MySQL 資料庫中
ThinkPHP 3.2.3 自帶了 Db 類型的 Session 驅動,Db 類位于 ./ThinkPHP/Library/Think/Session/Driver/Db.class.php
架構已經準備好了 session 表:
ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 修改子產品配置 ./Application/Admin/Common/Conf/config.php,增加以下配置即可:
② 把 Session 存儲在 Redeis 中
ThinkPHP 3.2.3 自帶了 Memcache 驅動,可以參考該驅動來開發 Redis 驅動,建立 Redis.class.php,放在 ./ThinkPHP/Library/Think/Session/Driver 下:
ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 然後修改子產品配置檔案 config.php:
ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 文章管理的控制器 ArticleManageController.class.php:
ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 注:ThinkPHP 3.2.3 的分頁類位于 ./ThinkPHP/Library/Think/Page.class.php,是以除了使用 use 關鍵字引入命名空間為 Think 的 Page類,然後直接執行個體化 Page類外,還可以在需要執行個體化 Page 類的時候 new \Think\Page(); Think 前面的 \ 代表根命名空間。
在使用分頁類的時候隻需要把總條數和每頁配置設定的條數作為參數傳給 Page 類以擷取 limit 參數。
文章管理的視圖檔案位于 ./Application/Admin/View/ArticleManage_index.html:
ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 ThinkPHP 3.2.3 簡單背景子產品開發(一)常用配置一、項目分組二、應用配置和子產品配置三、管理者登陸
四、自定義 Session 存儲 五、文章管理 注:模闆中使用了點文法解析數組,點文法在模闆中除了解析數組外,還可以解析對象。可以在子產品配置中設定點文法隻解析數組,可以使模闆解析速度更快: