ThinkPHP5教程全集

2025-04-18 16

ThinkPHP5 教程全集

ThinkPHP 是一个开源的轻量级 PHP 开发框架,遵循 Apache2 开源协议发布,ThinkPHP5 是其重要版本,在性能、功能和易用性上都有显著提升。以下是一份较为全面的 ThinkPHP5 教程。

一、环境搭建

(一)安装 PHP

  • Windows:可以从 PHP 官方网站 下载 Windows 版本的 PHP,解压后将目录添加到系统环境变量的 Path 中。
  • Linux(以 Ubuntu 为例)
sudo apt update
sudo apt install php

(二)安装 Web 服务器(以 Apache 为例)

  • Windows:从 Apache 官方网站 下载 Windows 版本的 Apache,解压后配置 httpd.conf 文件,设置根目录等信息,然后启动 Apache。
  • Linux(以 Ubuntu 为例)
sudo apt update
sudo apt install apache2

(三)安装 Composer

Composer 是 PHP 的依赖管理工具,ThinkPHP5 使用 Composer 进行包管理。
- Windows:从 Composer 官方网站 下载 Windows 安装程序,按照提示安装。
- Linux

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

(四)安装 ThinkPHP5

使用 Composer 创建 ThinkPHP5 项目:

composer create-project topthink/think tp5

上述命令会在当前目录下创建一个名为 tp5 的 ThinkPHP5 项目。

二、目录结构

| 目录 | 说明 |
| - | - |
| application | 应用目录,包含项目的各个模块,如 index 模块等。 |
| public | Web 服务器指向的目录,入口文件 index.php 位于此目录。 |
| thinkphp | 框架核心目录,包含框架的核心代码。 |
| vendor | Composer 依赖包目录。 |
| config | 配置文件目录,包含各种配置文件,如数据库配置等。 |
| runtime | 运行时目录,用于存储缓存、日志等临时文件。 |

三、路由

(一)基本路由

application/route.php 文件中定义路由规则:

use think\Route;

// 简单路由
Route::rule('hello/:name', 'index/hello');

上述代码定义了一个路由规则,当用户访问 http://yourdomain.com/hello/thinkphp 时,会调用 index 模块下的 hello 方法,并将 thinkphp 作为参数传递给 name

(二)分组路由

Route::group('api', function () {
    Route::get('user/:id', 'api/User/read');
    Route::post('user', 'api/User/create');
});

上述代码定义了一个分组路由,所有以 api 开头的路由都会被分组处理。例如,访问 http://yourdomain.com/api/user/1 会调用 api 模块下的 User 控制器的 read 方法。

四、控制器

(一)创建控制器

application/index/controller 目录下创建一个名为 Hello.php 的控制器文件:

<?php
namespace app\index\controller;

use think\Controller;

class Hello extends Controller
{
    public function index($name = 'ThinkPHP')
    {
        return 'Hello, ' . $name;
    }
}

(二)调用控制器

通过路由或直接在浏览器访问 http://yourdomain.com/index/hello/index/name/thinkphp,会调用 Hello 控制器的 index 方法,并输出 Hello, thinkphp

五、模型

(一)创建模型

application/index/model 目录下创建一个名为 User.php 的模型文件:

<?php
namespace app\index\model;

use think\Model;

class User extends Model
{
    // 设置当前模型对应的完整数据表名称
    protected $table = 'user';
}

(二)使用模型

在控制器中使用模型进行数据库操作:

<?php
namespace app\index\controller;

use app\index\model\User;

class UserController
{
    public function index()
    {
        // 查询所有用户
        $users = User::select();
        foreach ($users as $user) {
            echo $user->name . '<br>';
        }
    }
}

六、数据库操作

(一)配置数据库

config/database.php 文件中配置数据库连接信息:

return [
    // 数据库类型
    'type'        => 'mysql',
    // 服务器地址
    'hostname'    => '127.0.0.1',
    // 数据库名
    'database'    => 'test',
    // 数据库用户名
    'username'    => 'root',
    // 数据库密码
    'password'    => '',
    // 数据库编码默认采用 utf8
    'charset'     => 'utf8',
    // 数据库表前缀
    'prefix'      => 'tp_',
];

(二)使用查询构建器

use think\Db;

// 插入数据
Db::name('user')->insert(['name' => 'thinkphp', 'email' => 'thinkphp@example.com']);

// 查询数据
$users = Db::name('user')->select();

// 更新数据
Db::name('user')->where('id', 1)->update(['name' => 'new name']);

// 删除数据
Db::name('user')->where('id', 1)->delete();

七、视图

(一)创建视图

application/index/view 目录下创建一个名为 hello.html 的视图文件:

<!DOCTYPE html>
<html>
<head>
    <title>Hello</title>
</head>
<body>
    <h1>Hello, {$name}</h1>
</body>
</html>

(二)渲染视图

在控制器中渲染视图:

<?php
namespace app\index\controller;

use think\Controller;

class Hello extends Controller
{
    public function index()
    {
        $name = 'ThinkPHP';
        return $this->fetch('hello', ['name' => $name]);
    }
}

八、常用组件

(一)缓存

use think\Cache;

// 设置缓存
Cache::set('name', 'thinkphp', 3600);

// 获取缓存
$name = Cache::get('name');

// 删除缓存
Cache::delete('name');

(二)日志

use think\Log;

// 记录日志
Log::record('这是一条日志信息');
Log::write();

九、项目实战示例

(一)需求分析

开发一个简单的博客系统,包含列表展示、详情查看、发布等功能。

(二)数据库设计

创建 article 表:

CREATE TABLE `article` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NOT NULL,
  `content` text NOT NULL,
  `create_time` int(11) NOT NULL,
  PRIMARY KEY (`id`)
);

(三)代码实现

  1. 创建模型:在 application/index/model 目录下创建 Article.php
  2. 创建控制器:在 application/index/controller 目录下创建 ArticleController.php,实现列表、详情和发布功能。
  3. 创建视图:在 application/index/view/article 目录下创建 index.htmldetail.htmlcreate.html

ThinkPHP5 是一个功能强大、易于使用的 PHP 开发框架,通过掌握其环境搭建、路由、控制器、模型、数据库操作、视图和常用组件等知识,可以快速开发出高质量的 Web 应用程序。在实际开发中,还需要不断学习和实践,积累项目经验,以更好地应对各种开发需求。

(牛站网络)

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!cheeksyu@vip.qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有积分奖励和额外收入!
5.严禁将资源用于任何违法犯罪行为,不得违反国家法律,否则责任自负,一切法律责任与本站无关

源码下载