codeigniter在视图或控制器中创建表单

时间:2014-08-28 23:50:57

标签: php codeigniter

在查看codeigniter用户手册或其他一些开源CI基础项目时,我意识到表单是视图中的store / generate / create,这里是示例:

application/view/main_view.php
<?php echo form_open("/user/create");?>
  <?php echo form_input("input1",$value); ?>
  .
  .
  .
<?php echo form_close(); ?>

然后将其加载到控制器中。

但是在我的项目中,我创建了包含表单+表格代码的长字符串,当加载 - >视图时,将保持字符串传递给该视图,这里是代码的一部分:

application/controller/user.php
$this->table->add_row(array("data"=>form_input("name",$value)));

$data["content"]=form_open("/user/create");
$data["content"].=$this->table->generate();
$data["content"].=form_close();

$this->load->view("main_view",$data);

哪种风格更好?为什么? (PS:抱歉英语不好)


我使用表来确保表单布局,这里有以下情况:

  1. 用html表标签在视图中写入。
  2. 在视图(或相关控制器)中加载html库,但我的视图充斥着许多php代码

1 个答案:

答案 0 :(得分:0)

如果您在团队中工作得更好,则在视图文件中使用纯html,并且永远不会在控制器中定义视图的一部分。但如果您想更好地使用CI表单助手,请按以下方式键入:

<?php
   $form = form_open("/user/create");
   $form .= form_input("input1",$value) . '<br>' ;
   $form .= form_input("input2",$value) . '<br>' ;
   $form .= form_input("input3",$value) . '</br>' ;
   $form .= form_close();

   echo $form;
?>

这只是一个缩短代码的简单例子。