代码点火器在视图或控制器中创建窗体


codeigniter create form in view or controller

当查看codeigniter用户手册或其他一些开源CI基础项目时,我意识到表单是在视图中存储/生成/创建的,例如:

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);

哪种款式更好?为什么?(附言:对不起英语坏了)


我使用表格来确保表格布局,这里的情况是:

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

如果你在团队中工作得更好,你可以在视图中使用纯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;
?>

这只是一个简化代码的简单示例。