ThinkPHP5 路由与数据库模型

ThinkPHP5 路由机制详解

ThinkPHP5 的路由系统提供了一种灵活的 URL 映射机制,可以将用户的请求 URL 解析到对应的控制器方法上。

路由定义:

路由定义通常位于 route 目录下的路由配置文件中,例如 route/app.php

Route::get('blog/:id', 'Blog/read');

上述代码定义了一条 GET 请求路由,当用户访问 /blog/123 时,将会调用 Blog 控制器的 read 方法,并将 123 作为参数传递给该方法。

路由参数:

路由参数可以使用 :param 的形式进行定义,例如上述代码中的 :id。在控制器方法中,可以通过以下方式获取路由参数的值:

public function read($id)
{
    // $id 即为路由参数的值
}

路由分组:

可以使用 Route::group() 方法对路由进行分组,方便进行统一的管理。

Route::group('blog', function () {
    Route::get(':id', 'Blog/read');
    Route::post(':id/comment', 'Blog/comment');
});

其他路由功能:

ThinkPHP5 还提供了丰富的路由功能,例如:

  • 资源路由
  • 闭包路由
  • 路由重定向
  • 路由中间件

ThinkPHP5 数据库模型

ThinkPHP5 的数据库模型提供了一种面向对象的数据库操作方式,可以简化数据库操作的代码。

模型定义:

模型类通常位于 app 目录下的模型目录中,例如 app/model/User.php

namespace appmodel;

use thinkModel;

class User extends Model
{
    // ...
}

模型实例化:

$user = new User();

数据查询:

// 查询所有用户
$users = User::select();

// 根据条件查询用户
$user = User::where('name', 'John')->find();

数据操作:

// 新增用户
$user = new User();
$user->name = 'John';
$user->save();

// 更新用户信息
$user = User::find(1);
$user->name = 'Jane';
$user->save();

// 删除用户
$user = User::find(1);
$user->delete();

关联模型:

ThinkPHP5 支持定义模型之间的关联关系,例如一对一、一对多、多对多等。

总结

简要介绍了 ThinkPHP5 的路由机制和数据库模型。路由机制提供了灵活的 URL 映射方式,而数据库模型则简化了数据库操作的代码,两者都是 ThinkPHP5 框架的重要组成部分。

zip 文件大小:9.36MB