Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在不同的控制器上使用相同的模型CakePHP_Php_Model View Controller_Cakephp_Model_Controller - Fatal编程技术网

在不同的控制器上使用相同的模型CakePHP

在不同的控制器上使用相同的模型CakePHP,php,model-view-controller,cakephp,model,controller,Php,Model View Controller,Cakephp,Model,Controller,我刚刚开始阅读CakePHP,到目前为止一切都很顺利,不过我有一个关于执行以下操作的最佳方法的疑问: 我有一个“用户”模型和一个“用户控制器”控制器 我目前有一个“主页”,它由home_controller.php控制(显然)。主页包含用户的注册 问题 从主页发布表单时,我需要访问用户模型(从主控制器) 此任务的最佳实践是什么?如果我正确理解情况,我会将表单发布到users controller中的某个函数。然后这个函数会保存数据,或者登录,或者别的什么。最后,以重定向回主页为例。我目前有一个“

我刚刚开始阅读CakePHP,到目前为止一切都很顺利,不过我有一个关于执行以下操作的最佳方法的疑问:

我有一个“用户”模型和一个“用户控制器”控制器

我目前有一个“主页”,它由home_controller.php控制(显然)。主页包含用户的注册

问题

从主页发布表单时,我需要访问用户模型(从主控制器)


此任务的最佳实践是什么?

如果我正确理解情况,我会将表单发布到users controller中的某个函数。然后这个函数会保存数据,或者登录,或者别的什么。最后,以重定向回主页为例。

我目前有一个“主页”页面,它由home\u controller.php控制(显然)
除了索引,在home\u controller中还有什么其他方法?按照惯例,控制器是复数的,所以:用户、类别。。。最可能的情况是,您不知道Cake中的pages\u控制器和路由


无论如何,是的,您可以从任何页面向任何控制器(甚至另一个域)发送帖子,就像任何常规HTML页面一样<代码>echo$this->Form->create('User',array('controller'=>'users','action'=>'register')您可以在此处阅读更多内容:

您可以轻松地跨多个控制器共享一个模型

var $uses = array('ModelName');
我使用用户模型和

  • 帐户控制器(登录、注册等)
  • 成员控制器(搜索、列表、配置文件等)
  • 概述控制器(起始页、主页等)

比如说。它们都共享用户模型。

是否可以从主页向用户控制器发送帖子?由于用户控制器与主页没有任何关系,这可能不是正确的语法,但它是这样的:
$this->Form->create(null,array(url=>array('controller'=>'users','action'=>'login'))看起来像$this->Form->create(null,array('url','/user/register'))可以工作!谢谢你也应该看看Anh Phams关于正确语法的回答。“硬编码”要用作表单动作的路径不是一个好的练习。假设您希望稍后将/user/register的路由更改为例如/signup,但由于表单->创建中的固定路径,Cake不会自动路由它。