如何将变量从视图传递到控制器?

时间:2011-06-14 06:40:19

标签: php codeigniter templates variable-assignment

我有一个Codeigniter视图,它会进行一些处理,并在我的控制器中创建一些我需要的变量。

如何从控制器访问视图中创建的变量? 甚至可以这样做吗?

我可以将变量从控制器传递给视图, 我可以将变量从视图传递回控制器吗? 只是为了让事情更清楚。我有一个主控制器,它可以获取多个视图并形成一个完整的页面。在这个完整的页面中,我只需要传递一些数据。这个数据再次,不要火焰或怪我这个,在视图中处理。现在我需要为每个由主控制器方法setPageMetaData设置的页面设置元数据,标题关键字等,并且它接受一个键值对。对于某些页面,它很容易setPageMetaData内部控制器,但在一个特定情况下,标题和关键字是由视图中的某些处理生成的。我需要控制器中的信息。我的问题是无论这个特殊情况如何,我可以将变量从View传递给我的控制器吗?它甚至可能吗?我本可以补充一下,“这是推荐吗?”赢得一些掌声。

3 个答案:

答案 0 :(得分:4)

这样想:

  • Controller =输入(包括网址)
  • 模型=处理(与控制器通信)
  • View =输出(用户在处理数据后看到的内容)

尝试将代码移动到适当的层,而不是将其全部混合。您的视图层应该只接收来自控制器的数据而不处理它。

如果您只需要一些静态数据,请考虑将其移至config文件。如果要处理某些数据,请在模型或控制器层中执行此操作,读取结果,相应地设置一些变量,然后将它们发送到视图。

答案 1 :(得分:3)

您也可以使用URI段或Js,Ajax来提供帮助。如果您使用CRUD,它很简单,它会给控制器加载以在模型中执行代码。

答案 2 :(得分:1)

在Code Igniter中,如果你试图将某些东西从视图中传回控制器,那么你正在做一些可怕的可怕的可怕的错了。

唯一的情况是,如果您的视图本身正在进行一些处理。

在我之后重复;
Rajendra Prasad Panchat 承诺我永远不会在我的观点中进行任何处理

这完全打破了使用Code Igniter等框架的目的。

view的目的是将已处理的数据输出为网页。

-
随意发布您的代码,我们可以告诉您哪里出错了。