1 Star 1 Fork 0

y4ngru1 / TP3学习笔记

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
控制器.md 2.45 KB
一键复制 编辑 原始数据 按行查看 历史
y4ngru1 提交于 2017-09-10 16:54 . init

TP3 - 控制器

TP3的目录结构,如下:

TP3
├─Application #我们的应用
│  ├─Common   #库,类等可以在这儿
│  │  ├─Common
│  │  └─Conf
│  ├─Home   #默认就存在的Home模块
│  │  ├─Common
│  │  ├─Conf
│  │  ├─Controller
│  │  ├─Model
│  │  └─View
│  │      └─Test
│  └─Runtime  #运行时产生的一些文件
│      ├─Cache
│      │  └─Home
│      ├─Data
│      ├─Logs
│      │  └─Home
│      └─Temp
├─Public
└─ThinkPHP
    └─...

我们在目录结构中可以看到的/Application/Home/目录其实就是一个TP3的模块 模块中有Common、Conf和这个模块的MVC。

我们此时可以打开/Application/Home/Controller下的IndexController.class.php文件,可以看到如下代码:

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
    public function index(){
        $this->show('<style type="text/css">*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} body{ background: #fff; font-family: "微软雅黑"; color: #333;font-size:24px} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.8em; font-size: 36px } a,a:hover{color:blue;}</style><div style="padding: 24px 48px;"> <h1>:)</h1><p>欢迎使用 <b>ThinkPHP</b>!</p><br/>版本 V{$Think.version}</div><script type="text/javascript" src="http://ad.topthink.com/Public/static/client.js"></script><thinkad id="ad_55e75dfae343f5a1"></thinkad><script type="text/javascript" src="http://tajs.qq.com/stats?sId=9347272" charset="UTF-8"></script>','utf-8');
    }
}

我们可以注意到这个控制器的命名空间是Home\Controller这正好对应了我们的目录。 然后这个程序引入了Think\Controller这个TP3的控制器的基类来创建控制器。 我们可以看到,TP3控制器的类名的命名规则是:

控制器名+Controller

必须继承TP3的控制器基类Controller。 根据TP3的官方文档,从URL访问控制器应以如下形式:

index.php/模块/控制器/方法

我们可以试一试,首先在测试之前,我们在这个默认的IndexController中添加一个方法,如下:

<?php
public function test() {
  $this->show('<h1>Test</h1>');
}

按照规则我们应该访问如下URL才能调用这个控制器:

index.php/Home/Index/test

我们来尝试访问一下:

可以看到,是OK的

PHP
1
https://gitee.com/y4ngru1/TP3XueXiBiJi.git
git@gitee.com:y4ngru1/TP3XueXiBiJi.git
y4ngru1
TP3XueXiBiJi
TP3学习笔记
master

搜索帮助