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就是为了把代码分离开,使得结构清晰