ThinkPHP基础:控制器

本文介绍了如何在ThinkPHP5.0中使用Index控制器进行基本的操作,包括控制器的定义、数据读取及模板渲染等核心功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们找到 index 模块的 Index 控制器
(文件位于 application/index/controller/Index.php 注意大小写)

<?php
namespace app\index\controller;

根据类的命名空间可以快速定位文件位置,在 ThinkPHP5.0 的规范里面,命名空间其实对应了文件的所在目录, app
命名空间通常代表了文件的起始目录为 application ,而think 命名空间则代表了文件的其实目录为
thinkphp/library/think ,后面的命名空间则表示从起始目录开始的子目录。

使用控制器功能

<?php
namespace app\index\controller;
use think\Controller;
class Index extends Controller
{
    public function hello($name = 'thinkphp')
    {
	    $this->assign('name', $name);
	    return $this->fetch();
    }
}

这里使用了 use 来导入一个命名空间的类库,然后可以在当前文件中直接使用该别名而不需要使用完整的命名空间路径访问类库。也就说,如果没有使用

use think\Controller; 就必须使用 class Index extends \think\Controller

这种完整命名空间方式。在后面的内容中,如果我们直接调用系统的某个类的话,都会假设已经在类的开头使用 use 进行了别名导入。

Index 控制器类继承了 think\Controller 类之后,我们可以直接使用封装好的 assign 和
fetch 方法进行模板变量赋值和渲染输出。fetch 方法中我们没有指定任何模板,所以按照系统默认的规则(视图目录/控制器/操作方法)输出了view/index/hello.html 模板文件。

读取数据

<?php
namespace app\index\controller;
use think\Controller;
use think\Db;
class Index extends Controller
{
	   public function index()
	   {
	  	  //从表data中读取一条数据
 		   $data = Db::name('data')->find();
 		  //传输数据
 		   $this->assign('result', $data);
 		   //显示界面
		    return $this->fetch();
	    }
}

页面部分

<html>
<head>
<title></title>
</head>
<body>
{$result.id}--{$result.data}
</body>
</html>

模板标签的用法和 Smarty 类似,就是用于输出数据的字段,这里就表示输出 think_data表的 id 和data 字段的值。我们访问会输出:
1–thinkphp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值