cakephp注册和登录表单

cakephp注册和登录表单,php,cakephp,user-registration,cakephp-model,Php,Cakephp,User Registration,Cakephp Model,我正在用cakephp做注册和登录表单。我是cakephp框架的新手。我已经在我的系统上下载并安装了cakephp。我已经连接到我的数据库表。我在core.php和database.php中做了一些更改 我按照这些教程做注册和登录表单 我什么都试过了。但它们都不起作用。我不知道我需要在哪里创建这些php文件。我也是MVC设计模式的新手。。。这里有人给我一些一步一步的程序来完成这个简单的任务。。我不想在这里要求任何编码。。我想要一些循序渐进的过程。它看起来可能有点难,但当你理解它的方案时,它

我正在用cakephp做注册和登录表单。我是cakephp框架的新手。我已经在我的系统上下载并安装了cakephp。我已经连接到我的数据库表。我在
core.php
database.php
中做了一些更改

我按照这些教程做注册和登录表单


我什么都试过了。但它们都不起作用。我不知道我需要在哪里创建这些php文件。我也是MVC设计模式的新手。。。这里有人给我一些一步一步的程序来完成这个简单的任务。。我不想在这里要求任何编码。。我想要一些循序渐进的过程。

它看起来可能有点难,但当你理解它的方案时,它变得超级简单:

  • 模型层处理有关数据的所有内容。它将以静默方式连接到模型中变量“useDbConfig”中声明的数据库配置(如果未声明,它将连接到
    default
    config)。它们存储在
    Models
    文件夹中。“处理关于数据的一切”意味着它从数据源获取数据,验证将要保存的数据,格式化数据,等等

    模型可以附加
    行为
    。用OOP术语将其视为一个“接口”(不同,但有点接近)。它们提供了它们之间的通用功能(例如,
    TranslateBehavior
    使该模型的数据可翻译)。它们存储在
    Models/Behavior
    文件夹中。您可以在数组变量
    $actsAs
    中调用它们,或者动态加载它。例如:

    public $actsAs = array('Translate');
    
    public $components = array('Paginate');
    
  • 控制器层处理将对数据执行的所有操作。它将以与控制器相同的名称静默地实例化模型以处理数据,但您可以告诉控制器实例化许多不同的模型以满足您的需要。它们存储在
    控制器
    文件夹中。通常控制器中的函数称为
    操作
    ,因为在服务器中处理HTTP请求时,它将被委托给控制器中的相应函数。比方说,将在
    userscocontroller
    内调用您的操作
    login()

    控制器可以连接
    组件
    。这与
    行为
    相同,但专门针对控制器。它们存储在
    控制器/组件
    文件夹中。例如,
    PaginationComponent
    使控制器中获取的数据可分页,因此您可以对其进行排序、分页等。您可以在变量
    $components
    中调用它,或动态加载它。例如:

    public $actsAs = array('Translate');
    
    public $components = array('Paginate');
    
  • 视图层处理所有演示文稿。这意味着他们拥有用户将看到的所有HTML+Javascript。它是在动作解决后从控制器调用的。它将在
    view/ControllerName/action.ctp
    中以静默方式呈现视图,这意味着,例如,当
    login()
    操作完成后,它将呈现视图
    view/Users/login.ctp
    。视图通常使用布局
    默认值
    进行渲染,但您可以在控制器内的变量
    $layout
    中对其进行更改。您可以通过控制器中的函数
    $set()
    将变量从控制器传递到视图

    视图可以使用
    助手
    ;它们与组件和行为相同,但用于视图。但是您必须在变量
    $helpers
    控制器中声明它们。它们存储在
    Views/Helpers
    文件夹中。例如,默认的
    HtmlHelper
    允许您简化一些标记,例如css的

    视图也可以使用元素。它们是一种可以在任何视图或布局中重用的块。您只需在
    视图/Elements
    文件夹中创建一个元素,并将其与
    $this->element('nameofeelement')一起使用

总之,您需要一个
User.php
模型、一个
userscoontroller.php
控制器和一个
login.ctp
视图来进行登录。在控制器中,需要加载
AuthComponent
,因为它将处理登录。在视图中,您可能需要
HtmlHelper
FormHelper
,但默认情况下会加载它们。在控制器的
login()
函数中,您只需检查
Auth->login()
是否成功,并采取正确的操作

一旦你有了更多的经验,你就可以通过查看名为“胖模型、瘦控制器”的惯例,使其更有条理


祝你好运

你似乎已经读了很多博客文章,你是否也阅读了官方文档及其相关信息?另外:你应该经常提到你正在使用的cakephp版本。@马克:我也读过。但还是没有得到。版本2.4.6。第一步:我能做什么?“我已经尝试了所有的方法。但是没有一种方法不起作用。”-你会犯什么错误?那些博客的哪一步实际上失败了?@jimmymadon:现在我看到了注册表视图。我将尝试执行此操作。我已将view.ctp放在我的视图文件夹中。view.ctp是一种注册表。现在我可以看到一个登记表没有错误。那我在哪里可以查询数据库呢?模型文件夹中的user.php?您可以通过模型调用
userscocontroller
中的
view()
函数中的查询,如
$this->user->find/save
(取决于您的操作)