1. THINKphp控制器怎麼連接HTML啊..........
控制器在controller文件夾下邊,如果你要載入頁面,使用tp封裝的方法,tp3是$this->display('文件夾/文件'),如果括弧里什麼都不寫,它會在view文件夾下去尋找你控制器名稱的文件夾,再找你這個方法對應的文件,比如你是index控制器下的index方法,它就去找view文件夾下index文件夾裡面的index.html,tp5是 return view(),括弧里是一樣的,一個參數的話( $this->display('index') ),就是找該控制器名文件夾下的index文件
2. php控制器文件參數問題
從上面的代碼看來,userList.php teamList.php 顯然是多餘了 。
仔細看看你的鏈接地址 userList.php?controller=userList 當中的 userList.php 與 controller=userList 其實重復了
在一個mvc項目中一般只用一個文件入口,比如你的入口文件是 index.php 那麼項目中的所有鏈接地址 都是 (index.php?controller=控制器&action =控制器方法名)這種格式
寫個最簡單的例子給你看看吧
入口文件 index.php
<?php
$controller_name=$_GET['controller']?$_GET['controller']:"index";
$action=$_GET['action']?$_GET['action']:"index";
$controller_name=$controller_name."Controller";//這邊就不需要用if來判斷了
$action=$action."Action";
$controller=new$controller_name();
$controller->$action();
?>
看懂了吧,如果什麼參數都沒傳 直接訪問 index.php 他就是 調用的 indexController 里的 indexAction方法
3. php 控制器怎麼寫
你說的控制器是MVC中的C
C層主要是負責獲取V層(模板)的數據傳給M層(模塊跟資料庫打交道的),然後M層跟資料庫獲取數據再傳回C層(控制器)
C層再處理M層傳回來的數據,再傳給V層。
所以,控制器要做的,就是獲取前台的數據,然後調用模塊中的方法獲取想要的數據。
然後再處理你拿回來的數據再傳給前台進行顯示。
知道怎麼寫了嗎
4. php控制器裡面可以寫header頭嗎
例子 1
1
2
//頁面跳轉
header('Location: http://www.example.com/');
例子 2
1
2
3
4
5
6
//提示用戶保存一個生成的 pdf 文件(Content-Disposition 報頭用於提供一個推薦的文件名,並強制瀏覽器顯示保存對話框)
header("Content-type:application/pdf");
// 文件將被稱為 downloaded.pdf
header("Content-Disposition:attachment;filename='downloaded.pdf'");
// PDF 源在 original.pdf 中
readfile("original.pdf");
例子 3
1
2
3
4
//用戶可能會設置一些選項來更改瀏覽器的默認緩存設置。通過發送上面的報頭,您可以覆蓋任何這些設置,強制瀏覽器不進行緩存!
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache");
header("Pragma: no-cache");
5. thinkphp框架控制器怎麼寫
以我的電腦為例吧,我的「F:PHPApplication」目錄下有個「home」目錄,這是ThinkPHP自動生成的一個控制器,
主要文件是「F:.class.php」
在地址欄輸入「http://localhost/index.php」,回車,看到的內容,就是這個文件中「Index」函數中的內容。
訪問規則
就「home」目錄下的控制器舉例,您可以通過以下URL地址訪問:
http://localhost/index.php
http://localhost/index.php/Home
http://localhost/index.php/Home/Index
http://localhost/index.php/Home/Index/Index
創建第一個控制器
在「F:PHPApplication」目錄下新建一個目錄「Index」,偷個賴,把「F:PHPApplicationHome」目錄下的內容都復制
到「F:PHPApplicationIndex」目錄下,打開「F:.class.php」文件,
為了確定訪問的確實是我們新加的內容,在「Index」函數中添加點東西,代碼如下:
試試通過以下URL地址訪問吧:http://localhost/index.php/Index
http://localhost/index.php/Index/Index
http://localhost/index.php/Index/Index/Index
修改慣例配置
ThinkPHP的默認模塊名稱是「Home」,也就是說如果你在瀏覽器地址欄中輸入「http://localhost/index.php」的話,默認訪問的是「http://localhost/index.php/Home」。
修改方法:用文本編輯工具打開「F:PHPThinkPHPConfconvention.php」文件,
修改第44行為:'DEFAULT_MODULE' => 'Index', // 默認模塊
6. php自己寫一個控制器怎麼寫
這個問題,不太好回答,如果你了解mvc思想的話,應該說自己怎麼寫個框架,單獨寫個控制器,那我只能建意你建個index.php文件,就可以了。為什麼呢,因為你只要用include包含你想調用的類,干什麼都行!這就是控制器!網路網盤:(一個簡單的例子,僅供參考)
7. php 寫框架時如何是先 /控制器/方法 來訪問對應的頁面
<?php
echo $_SERVER['SERVER_NAME'];
echo ':',$_SERVER['SERVER_PORT'];
echo $_SERVER["REQUEST_URI"];
$arr = explode('/', $_SERVER['REQUEST_URI']);
require APP_PATH.$arr[3];
$arr[4]();
function abc()
{
echo 'This is abc function.';
}
?>
$_SERVER['REQUEST_URI']獲取除去主機部分的url。
explode用'/'分割成數組,你獲取指定部分部分就可以,然後require包含指定action,再調用其中的方法。
8. PHP中的控制器有什麼用
mvc三層分立,用一種業務邏輯、數據、界面顯示分離的方法組織代碼,將業務邏輯聚集到一個部件裡面,在改進和個性化定製界面及用戶交互的同時,不需要重新編寫業務邏輯。
好處是每層對應不同的功能作用,代碼清晰度高
壞處是,讓程序更加麻煩
Controller(控制器)處理輸入(寫入資料庫記錄)。
9. thinkphp怎麼訪問一個控制器的不同方法
跨控制器調用方法
1. 先造對象,再調用裡面的方法
$sc=new \Home\Controller\IndexController(); 用絕對路徑找
echo $sc->ShuChu();
2.
$sc=new IndexController(); 用相對路徑
echo $sc->ShuChu();
還可以使用thingkphp中的快捷方法
1. $sc=A("Index"); 使用TP框架的快捷方法A來創建控制器對象 ()內直接寫控制器名
【跨模塊調用】
$sc=A("Admin/Main"); 前面加上模塊名 模塊名/控制器名
【R方法】
調用對象 並且調用裡面的方法
使用TP框架的R方法來自動調用某個控制器里的某個操縱方法
echo R("Index/ShuChu"); 控制器名/方法名
10. thinkphp 模型與控制器有什麼區別沒搞懂
這不是不能的問題,而是mvc的問題,thinkphp的MVC就是為了把代碼分離開,使得結構清晰