博客教程中的CakePHP帮助-简单身份验证和授权应用程序最后一部分

博客教程中的CakePHP帮助-简单身份验证和授权应用程序最后一部分,php,cakephp,authentication,cakephp-2.0,Php,Cakephp,Authentication,Cakephp 2.0,在关于Cakephp 2.0的简单身份验证和授权部分的博客教程中,最后一部分有一个代码块,我无法理解 这条线是干什么的 // app/Model/Post.php public function isOwnedBy($post, $user) { return $this->field('id', array('id' => $post, 'user_id' => $user)) === $post; } 我希望任何人都能帮我解决这个问题。这在 在您的例子中,它检索

在关于Cakephp 2.0的简单身份验证和授权部分的博客教程中,最后一部分有一个代码块,我无法理解 这条线是干什么的

// app/Model/Post.php

public function isOwnedBy($post, $user) {
    return $this->field('id', array('id' => $post, 'user_id' => $user)) === $post;
}
我希望任何人都能帮我解决这个问题。

这在

在您的例子中,它检索帖子的
id
字段,并尝试与第二个参数中的条件相匹配:
数组('id'=>$Post,'user\u id'=>$user)===$Post

这是:

在表
Posts
中查找包含此用户和此post的行


如果找到匹配项,它将返回该字段,否则将返回false,否则将检查Leonardo是否正确

  • 有一个id为$post且user_id=$user的帖子
  • 如果是,则检查返回的id是否等于$post(即使是类型)
  • 如果是,则返回true,否则返回false

从文件名和方法名称判断,我认为可以肯定地说,它检查帖子是否由特定用户拥有(或创建)。为了理解它的作用,您需要查看参数
$post
$user
是什么,并且还需要查看
field()
方法的作用。