PHP之ThinkPHP5视频教程

概述

  • ThinkPHP5 是一款基于 PHP 的开源 MVC 框架,具有简洁高效、开发快速的特点,广泛应用于 PHP Web 开发领域。以下是关于 ThinkPHP5 的一些核心要点
  • 视频教程:https://pan.quark.cn/s/8fb5620370d8

主要特性

  1. 架构设计:采用单一入口模式,遵循 MVC(模型-视图-控制器)设计模式,同时支持分层架构(如服务层、验证层等)。
  2. 命名规范:严格遵循 PSR 规范,类文件采用命名空间自动加载,文件名和类名保持一致(骆驼式命名)。
  3. 数据库操作:内置强大的数据库查询构建器,支持链式操作,同时支持模型关联(一对一、一对多、多对多等)。
  4. 模板引擎:自带简洁的模板引擎,支持布局、模板继承、变量输出等功能,也可集成第三方模板引擎。
  5. 路由系统:支持灵活的路由配置,可自定义 URL 规则,支持 RESTful 路由风格。
  6. 缓存机制:支持多种缓存方式(文件、Redis、Memcache 等),缓存操作简单易用。
  7. 安全特性:内置防 SQL 注入、XSS 攻击、CSRF 防护等安全机制,提供输入验证功能。

基本目录结构

复制代码
thinkphp5/
├─ application/       // 应用目录
│  ├─ index/          // 默认模块
│  │  ├─ controller/  // 控制器目录
│  │  ├─ model/       // 模型目录
│  │  ├─ view/        // 视图目录
│  │  └─ config.php   // 模块配置文件
│  └─ common.php      // 应用公共函数
├─ thinkphp/          // 框架核心目录
├─ public/            // 网站入口目录
│  └─ index.php       // 应用入口文件
└─ config/            // 应用配置目录

简单示例

1. 控制器示例(application/index/controller/Index.php)

php 复制代码
namespace app\index\controller;

class Index
{
    public function index()
    {
        // 向视图传递数据
        $name = 'ThinkPHP5';
        return view('index', ['name' => $name]);
    }
    
    public function hello($name = 'World')
    {
        return 'Hello, ' . $name . '!';
    }
}

2. 视图示例(application/index/view/index/index.html)

html 复制代码
<!DOCTYPE html>
<html>
<head>
    <title>ThinkPHP5</title>
</head>
<body>
    <h1>Welcome to {$name}</h1>
</body>
</html>

3. 数据库查询示例

php 复制代码
// 在控制器中查询数据
use think\Db;

public function getUser()
{
    // 查询单个用户
    $user = Db::name('user')->where('id', 1)->find();
    
    // 查询多个用户
    $users = Db::name('user')->where('status', 1)->select();
    
    return json($users);
}

路由配置(config/route.php)

php 复制代码
return [
    // 定义路由规则
    'hello/:name' => 'index/index/hello',
    // RESTful 路由
    'user/:id' => ['index/user/read', ['method' => 'get']],
];

使用 ThinkPHP5 可以快速搭建各类 Web 应用,其丰富的扩展库和完善的文档也为开发提供了便利。如果需要更具体的功能实现或遇到问题,可以参考官方文档获取详细指导。

相关推荐
JaguarJack4 小时前
PHP 的异步编程 该怎么选择
后端·php·服务端
BingoGo4 小时前
PHP 的异步编程 该怎么选择
后端·php
JaguarJack19 小时前
为什么 PHP 闭包要加 static?
后端·php·服务端
ServBay2 天前
垃圾堆里编码?真的不要怪 PHP 不行
后端·php
用户962377954482 天前
CTF 伪协议
php
BingoGo4 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack4 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo5 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack5 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack6 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端